42 lines · plain
1; RUN: llc --mtriple=wasm32-unknown-unknown -asm-verbose=false %s -o - | FileCheck --check-prefixes CHECK -DPTR=i32 %s2; RUN: llc --mtriple=wasm64-unknown-unknown -asm-verbose=false %s -o - | FileCheck --check-prefixes CHECK -DPTR=i64 %s3 4; empty function that does not use stack, to check WebAssemblyMCLowerPrePass5; works correctly.6define hidden void @bar() #0 {7 ret void8}9 10; Function that uses explict stack, and should generate a reference to11; __stack_pointer, along with the corresponding relocation entry.12define hidden void @foo() #0 {13entry:14 alloca i32, align 415 ret void16}17 18; CHECK: .file "stack-ptr-mclower.ll"19; CHECK-NEXT: .globaltype __stack_pointer, [[PTR]]20; CHECK-NEXT: .functype bar () -> ()21; CHECK-NEXT: .functype foo () -> ()22 23; CHECK-NEXT: .section .text.bar,"",@24; CHECK-NEXT: .hidden bar25; CHECK-NEXT: .globl bar26; CHECK-NEXT: .type bar,@function27; CHECK-NEXT: bar:28; CHECK-NEXT: .functype bar () -> ()29; CHECK-NEXT: end_function30 31; CHECK: .section .text.foo,"",@32; CHECK-NEXT: .hidden foo33; CHECK-NEXT: .globl foo34; CHECK-NEXT: .type foo,@function35; CHECK-NEXT: foo:36; CHECK-NEXT: .functype foo () -> ()37; CHECK-NEXT: global.get __stack_pointer38; CHECK-NEXT: [[PTR]].const 1639; CHECK-NEXT: [[PTR]].sub40; CHECK-NEXT: drop41; CHECK-NEXT: end_function42