| # 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 | |
| RET_ReallyLR |