diff options
Diffstat (limited to 'llvm/test/CodeGen/X86')
| -rw-r--r-- | llvm/test/CodeGen/X86/stack-size-section.ll | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/stack-size-section.ll b/llvm/test/CodeGen/X86/stack-size-section.ll new file mode 100644 index 00000000000..28b26ae572e --- /dev/null +++ b/llvm/test/CodeGen/X86/stack-size-section.ll @@ -0,0 +1,30 @@ +; RUN: llc < %s -mtriple=x86_64-linux -stack-size-section | FileCheck %s + +; CHECK-LABEL: func1: +; CHECK: .section .stack_sizes,"",@progbits +; CHECK-NEXT: .quad func1 +; CHECK-NEXT: .byte 8 +define void @func1(i32, i32) #0 { + alloca i32, align 4 + alloca i32, align 4 + ret void +} + +; CHECK-LABEL: func2: +; CHECK: .section .stack_sizes,"",@progbits +; CHECK-NEXT: .quad func2 +; CHECK-NEXT: .byte 24 +define void @func2() #0 { + alloca i32, align 4 + call void @func1(i32 1, i32 2) + ret void +} + +; CHECK-LABEL: dynalloc: +; CHECK-NOT: .section .stack_sizes +define void @dynalloc(i32 %N) #0 { + alloca i32, i32 %N + ret void +} + +attributes #0 = { "no-frame-pointer-elim"="true" } |

