summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/dwarf-frame.ll
blob: a15c9c50f5a21491af500ea103097af6b4026df4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
; RUN: llc -mtriple armv7-unknown -frame-pointer=all -filetype=asm -o - %s | FileCheck %s --check-prefix=CHECK-NO-CFI
; RUN: llc -mtriple armv7-unknown -frame-pointer=all -filetype=asm -force-dwarf-frame-section -o - %s | FileCheck %s --check-prefix=CHECK-ALWAYS-CFI

declare void @dummy_use(i32*, i32)

define void @test_basic() #0 {
        %mem = alloca i32, i32 10
        call void @dummy_use (i32* %mem, i32 10)
  ret void
}

; CHECK-NO-CFI-LABEL: test_basic:
; CHECK-NO-CFI:   .fnstart
; CHECK-NO-CFI-NOT:   .cfi_sections .debug_frame
; CHECK-NO-CFI-NOT:   .cfi_startproc
; CHECK-NO-CFI:       @ %bb.0:
; CHECK-NO-CFI:       push {r11, lr}
; CHECK-NO-CFI-NOT:   .cfi_def_cfa_offset 8
; CHECK-NO-CFI-NOT:   .cfi_offset lr, -4
; CHECK-NO-CFI-NOT:   .cfi_offset r11, -8
; CHECK-NO-CFI:       mov r11, sp
; CHECK-NO-CFI-NOT:   .cfi_def_cfa_register r11
; CHECK-NO-CFI-NOT:   .cfi_endproc
; CHECK-NO-CFI:       .fnend

; CHECK-ALWAYS-CFI-LABEL: test_basic:
; CHECK-ALWAYS-CFI:   .fnstart
; CHECK-ALWAYS-CFI:   .cfi_sections .debug_frame
; CHECK-ALWAYS-CFI:   .cfi_startproc
; CHECK-ALWAYS-CFI:   @ %bb.0:
; CHECK-ALWAYS-CFI:   push {r11, lr}
; CHECK-ALWAYS-CFI:   .cfi_def_cfa_offset 8
; CHECK-ALWAYS-CFI:   .cfi_offset lr, -4
; CHECK-ALWAYS-CFI:   .cfi_offset r11, -8
; CHECK-ALWAYS-CFI:   mov r11, sp
; CHECK-ALWAYS-CFI:   .cfi_def_cfa_register r11
; CHECK-ALWAYS-CFI:   .cfi_endproc
; CHECK-ALWAYS-CFI:   .fnend
OpenPOWER on IntegriCloud