xref: /llvm-project/llvm/test/CodeGen/ARM/dwarf-frame.ll (revision bed1c7f061aa12417aa081e334afdba45767b938)
1; RUN: llc -mtriple armv7-unknown -frame-pointer=all -filetype=asm -o - %s | FileCheck %s --check-prefix=CHECK-NO-CFI
2; RUN: llc -mtriple armv7-unknown -frame-pointer=all -filetype=asm -force-dwarf-frame-section -o - %s | FileCheck %s --check-prefix=CHECK-ALWAYS-CFI
3
4declare void @dummy_use(ptr, i32)
5
6define void @test_basic() #0 {
7        %mem = alloca i32, i32 10
8        call void @dummy_use (ptr %mem, i32 10)
9  ret void
10}
11
12; CHECK-NO-CFI-LABEL: test_basic:
13; CHECK-NO-CFI:   .fnstart
14; CHECK-NO-CFI-NOT:   .cfi_sections .debug_frame
15; CHECK-NO-CFI-NOT:   .cfi_startproc
16; CHECK-NO-CFI:       @ %bb.0:
17; CHECK-NO-CFI:       push {r11, lr}
18; CHECK-NO-CFI-NOT:   .cfi_def_cfa_offset 8
19; CHECK-NO-CFI-NOT:   .cfi_offset lr, -4
20; CHECK-NO-CFI-NOT:   .cfi_offset r11, -8
21; CHECK-NO-CFI:       mov r11, sp
22; CHECK-NO-CFI-NOT:   .cfi_def_cfa_register r11
23; CHECK-NO-CFI-NOT:   .cfi_endproc
24; CHECK-NO-CFI:       .fnend
25
26; CHECK-ALWAYS-CFI-LABEL: test_basic:
27; CHECK-ALWAYS-CFI:   .fnstart
28; CHECK-ALWAYS-CFI:   .cfi_sections .debug_frame
29; CHECK-ALWAYS-CFI:   .cfi_startproc
30; CHECK-ALWAYS-CFI:   @ %bb.0:
31; CHECK-ALWAYS-CFI:   push {r11, lr}
32; CHECK-ALWAYS-CFI:   .cfi_def_cfa_offset 8
33; CHECK-ALWAYS-CFI:   .cfi_offset lr, -4
34; CHECK-ALWAYS-CFI:   .cfi_offset r11, -8
35; CHECK-ALWAYS-CFI:   mov r11, sp
36; CHECK-ALWAYS-CFI:   .cfi_def_cfa_register r11
37; CHECK-ALWAYS-CFI:   .cfi_endproc
38; CHECK-ALWAYS-CFI:   .fnend
39