xref: /llvm-project/llvm/test/CodeGen/WebAssembly/ir-locals-stackid.ll (revision 73856247eef35f5336e485dc009842a5b991c421)
1; RUN: llc -mtriple=wasm32-unknown-unknown -asm-verbose=false < %s | FileCheck %s --check-prefix=CHECKCG
2; RUN: llc -mtriple=wasm32-unknown-unknown -stop-after=finalize-isel < %s | FileCheck %s --check-prefix=CHECKISEL
3
4%f32_cell = type ptr addrspace(1)
5
6; CHECKISEL-LABEL: name: ir_local_f32
7; CHECKISEL:       stack:
8; CHECKISEL:       id: 0, name: retval, type: default, offset: 1, size: 1, alignment: 4,
9; CHECKISEL-NEXT:  stack-id: wasm-local
10
11; CHECKCG-LABEL: ir_local_f32:
12; CHECKCG-NEXT: .functype ir_local_f32 (f32) -> (f32)
13; CHECKCG-NEXT: .local f32
14; CHECKCG-NEXT: local.get 0
15; CHECKCG-NEXT: local.set 1
16
17define float @ir_local_f32(float %arg) {
18 %retval = alloca float, addrspace(1)
19 store float %arg, %f32_cell %retval
20 %reloaded = load float, %f32_cell %retval
21 ret float %reloaded
22}
23