1*94fbb147SEdd Barrett; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
2*94fbb147SEdd Barrett
3*94fbb147SEdd Barrett; When a function does a dynamic stack allocation, the function's stack size
4*94fbb147SEdd Barrett; is reported as UINT64_MAX.
5*94fbb147SEdd Barrett
6*94fbb147SEdd Barrett; CHECK:       .section .llvm_stackmaps
7*94fbb147SEdd Barrett; CHECK-NEXT:  __LLVM_StackMaps:
8*94fbb147SEdd Barrett; Header
9*94fbb147SEdd Barrett; CHECK-NEXT:   .byte 3
10*94fbb147SEdd Barrett; CHECK-NEXT:   .byte 0
11*94fbb147SEdd Barrett; CHECK-NEXT:   .short 0
12*94fbb147SEdd Barrett; Num Functions
13*94fbb147SEdd Barrett; CHECK-NEXT:   .long 1
14*94fbb147SEdd Barrett; Num LargeConstants
15*94fbb147SEdd Barrett; CHECK-NEXT:   .long 0
16*94fbb147SEdd Barrett; Num Callsites
17*94fbb147SEdd Barrett; CHECK-NEXT:   .long 1
18*94fbb147SEdd Barrett
19*94fbb147SEdd Barrett; Functions and stack size
20*94fbb147SEdd Barrett; CHECK-NEXT:   .quad f
21*94fbb147SEdd Barrett; CHECK-NEXT:   .quad -1
22*94fbb147SEdd Barrett
23*94fbb147SEdd Barrettdefine void @f(i32 %nelems) {
24*94fbb147SEdd Barrettentry:
25*94fbb147SEdd Barrett  %mem = alloca i32, i32 %nelems
26*94fbb147SEdd Barrett  call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 0, i32* %mem)
27*94fbb147SEdd Barrett  ret void
28*94fbb147SEdd Barrett}
29*94fbb147SEdd Barrett
30*94fbb147SEdd Barrettdeclare void @llvm.experimental.stackmap(i64, i32, ...)
31