xref: /llvm-project/llvm/test/CodeGen/SystemZ/stackmap-dynamic-alloca.ll (revision a1710eb3cd5823c5d14899112ca3086acbdbe9cb)
194fbb147SEdd Barrett; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
294fbb147SEdd Barrett
394fbb147SEdd Barrett; When a function does a dynamic stack allocation, the function's stack size
494fbb147SEdd Barrett; is reported as UINT64_MAX.
594fbb147SEdd Barrett
694fbb147SEdd Barrett; CHECK:       .section .llvm_stackmaps
794fbb147SEdd Barrett; CHECK-NEXT:  __LLVM_StackMaps:
894fbb147SEdd Barrett; Header
994fbb147SEdd Barrett; CHECK-NEXT:   .byte 3
1094fbb147SEdd Barrett; CHECK-NEXT:   .byte 0
1194fbb147SEdd Barrett; CHECK-NEXT:   .short 0
1294fbb147SEdd Barrett; Num Functions
1394fbb147SEdd Barrett; CHECK-NEXT:   .long 1
1494fbb147SEdd Barrett; Num LargeConstants
1594fbb147SEdd Barrett; CHECK-NEXT:   .long 0
1694fbb147SEdd Barrett; Num Callsites
1794fbb147SEdd Barrett; CHECK-NEXT:   .long 1
1894fbb147SEdd Barrett
1994fbb147SEdd Barrett; Functions and stack size
2094fbb147SEdd Barrett; CHECK-NEXT:   .quad f
2194fbb147SEdd Barrett; CHECK-NEXT:   .quad -1
2294fbb147SEdd Barrett
2394fbb147SEdd Barrettdefine void @f(i32 %nelems) {
2494fbb147SEdd Barrettentry:
2594fbb147SEdd Barrett  %mem = alloca i32, i32 %nelems
26*a1710eb3SKai Nacke  call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, ptr %mem)
2794fbb147SEdd Barrett  ret void
2894fbb147SEdd Barrett}
2994fbb147SEdd Barrett
3094fbb147SEdd Barrettdeclare void @llvm.experimental.stackmap(i64, i32, ...)
31