xref: /llvm-project/llvm/test/CodeGen/WebAssembly/global-get-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 load from the wasm_var address space
9
10@g1 = external addrspace(1) global i32
11@g2 = external addrspace(1) global i32
12
13define i32 @global_get_phi(i1 zeroext %bool) {
14  %sel = select i1 %bool, ptr addrspace(1) @g1, ptr addrspace(1) @g2
15  %gval = load i32, ptr addrspace(1) %sel
16  ret i32 %gval
17}
18