xref: /llvm-project/llvm/test/CodeGen/WebAssembly/global-set-unlowerable.ll (revision 104a24ec8bd4bc0e0acbb81c03b916c0c64e85b2)
1; RUN: not llc < %s --mtriple=wasm32 2>&1 | FileCheck %s
2
3; Demonstrates a code pattern that could be encountered even with frontend
4; restrictions on creating new pointers to globals. In the absence of a better
5; fix, the backend should produce a comprehensible message for why it can't
6; continue.
7
8; CHECK: LVM ERROR: Encountered an unlowerable store to the wasm_var address space
9
10@g1 = external addrspace(1) global i32
11@g2 = external addrspace(1) global i32
12
13define void @global_set_phi(i1 zeroext %bool) {
14  %sel = select i1 %bool, ptr addrspace(1) @g1, ptr addrspace(1) @g2
15  store i32 100, ptr addrspace(1) %sel
16  ret void
17}
18