132063888SUlrich Weigand; RUN: llc < %s -mtriple=s390x-linux-gnu -stack-size-section | FileCheck %s
232063888SUlrich Weigand
332063888SUlrich Weigand; CHECK-LABEL: func1:
478fdca3cSRafael Espindola; CHECK-NEXT: .Lfunc_begin0:
5*6b14814eSFangrui Song; CHECK: .section .stack_sizes,"o",@progbits,.text{{$}}
678fdca3cSRafael Espindola; CHECK-NEXT: .quad .Lfunc_begin0
732063888SUlrich Weigand; CHECK-NEXT: .byte 0
832063888SUlrich Weiganddefine void @func1(i32, i32) #0 {
932063888SUlrich Weigand  ret void
1032063888SUlrich Weigand}
1132063888SUlrich Weigand
1232063888SUlrich Weigand; CHECK-LABEL: func2:
1378fdca3cSRafael Espindola; CHECK-NEXT: .Lfunc_begin1:
14*6b14814eSFangrui Song; CHECK: .section .stack_sizes,"o",@progbits,.text{{$}}
1578fdca3cSRafael Espindola; CHECK-NEXT: .quad .Lfunc_begin1
1632063888SUlrich Weigand; CHECK-NEXT: .ascii  "\250\001"
1732063888SUlrich Weiganddefine void @func2(i32, i32) #0 {
1832063888SUlrich Weigand  alloca i32, align 4
1932063888SUlrich Weigand  alloca i32, align 4
2032063888SUlrich Weigand  ret void
2132063888SUlrich Weigand}
2232063888SUlrich Weigand
2332063888SUlrich Weigand; CHECK-LABEL: func3:
2478fdca3cSRafael Espindola; CHECK-NEXT: .Lfunc_begin2:
25*6b14814eSFangrui Song; CHECK: .section .stack_sizes,"o",@progbits,.text{{$}}
2678fdca3cSRafael Espindola; CHECK-NEXT: .quad .Lfunc_begin2
2732063888SUlrich Weigand; CHECK-NEXT: .ascii  "\250\001"
2832063888SUlrich Weiganddefine void @func3() #0 {
2932063888SUlrich Weigand  alloca i32, align 4
3032063888SUlrich Weigand  call void @func1(i32 1, i32 2)
3132063888SUlrich Weigand  ret void
3232063888SUlrich Weigand}
3332063888SUlrich Weigand
3432063888SUlrich Weigand; CHECK-LABEL: dynalloc:
3532063888SUlrich Weigand; CHECK-NOT: .section .stack_sizes
3632063888SUlrich Weiganddefine void @dynalloc(i32 %N) #0 {
3732063888SUlrich Weigand  alloca i32, i32 %N
3832063888SUlrich Weigand  ret void
3932063888SUlrich Weigand}
4032063888SUlrich Weigand
41502a77f1SFangrui Songattributes #0 = { "frame-pointer"="all" }
42