| ; RUN: llc < %s --mtriple=wasm32-unknown-unknown -asm-verbose=false -mattr=+reference-types | FileCheck %s | |
| ; Test for MIR printing of reference types in other address spaces. This should | |
| ; not error out. | |
| ; RUN: llc < %s --mtriple=wasm32-unknown-unknown -asm-verbose=false -mattr=+reference-types -print-after=finalize-isel | FileCheck %s | |
| %externref = type target("wasm.externref") | |
| @externref_global = local_unnamed_addr addrspace(1) global %externref undef | |
| define %externref @return_externref_global() { | |
| ;; this generates a global.get of @externref_global | |
| %ref = load %externref, ptr addrspace(1) @externref_global | |
| ret %externref %ref | |
| } | |
| ; CHECK-LABEL: return_externref_global: | |
| ; CHECK-NEXT: functype return_externref_global () -> (externref) | |
| ; CHECK-NEXT: global.get externref_global | |
| ; CHECK-NEXT: end_function | |
| ; CHECK: .globl externref_global |