cfi.mir
1.68 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass none -o - %s | FileCheck %s
# This test ensures that the MIR parser parses the cfi directives correctly.
--- |
declare void @foo()
define void @trivial_fp_func() {
entry:
call void @foo()
ret void
}
...
---
name: trivial_fp_func
# CHECK-LABEL: name: trivial_fp_func
body: |
bb.0.entry:
; CHECK: CFI_INSTRUCTION def_cfa $w29, 16
frame-setup CFI_INSTRUCTION def_cfa $w29, 16
; CHECK: CFI_INSTRUCTION def_cfa_register $w29
frame-setup CFI_INSTRUCTION def_cfa_register $w29
; CHECK: CFI_INSTRUCTION def_cfa_offset -8
frame-setup CFI_INSTRUCTION def_cfa_offset -8
; CHECK: CFI_INSTRUCTION offset $w30, -8
frame-setup CFI_INSTRUCTION offset $w30, -8
; CHECK: CFI_INSTRUCTION rel_offset $w30, -8
frame-setup CFI_INSTRUCTION rel_offset $w30, -8
; CHECK: CFI_INSTRUCTION adjust_cfa_offset -8
frame-setup CFI_INSTRUCTION adjust_cfa_offset -8
CFI_INSTRUCTION restore $w30
; CHECK: CFI_INSTRUCTION restore $w30
CFI_INSTRUCTION undefined $w30
; CHECK: CFI_INSTRUCTION undefined $w30
CFI_INSTRUCTION same_value $w29
; CHECK: CFI_INSTRUCTION same_value $w29
CFI_INSTRUCTION register $w20, $w30
; CHECK: CFI_INSTRUCTION register $w20, $w30
CFI_INSTRUCTION remember_state
; CHECK: CFI_INSTRUCTION remember_state
CFI_INSTRUCTION restore_state
; CHECK: CFI_INSTRUCTION restore_state
CFI_INSTRUCTION escape 0x61, 0x62, 0x63
; CHECK: CFI_INSTRUCTION escape 0x61, 0x62, 0x63
CFI_INSTRUCTION window_save
; CHECK: CFI_INSTRUCTION window_save
CFI_INSTRUCTION negate_ra_sign_state
; CHECK: CFI_INSTRUCTION negate_ra_sign_state
RET_ReallyLR