xref: /aosp_15_r20/external/llvm/test/CodeGen/MIR/AArch64/cfi-def-cfa.mir (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llc -mtriple=aarch64-none-linux-gnu -start-after branch-folder -stop-after branch-folder -o - %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker# This test ensures that the MIR parser parses the .cfi_def_cfa operands
3*9880d681SAndroid Build Coastguard Worker# correctly.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker--- |
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker  declare void @foo()
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker  define void @trivial_fp_func() {
10*9880d681SAndroid Build Coastguard Worker  entry:
11*9880d681SAndroid Build Coastguard Worker    call void @foo()
12*9880d681SAndroid Build Coastguard Worker    ret void
13*9880d681SAndroid Build Coastguard Worker  }
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker...
16*9880d681SAndroid Build Coastguard Worker---
17*9880d681SAndroid Build Coastguard Workername:            trivial_fp_func
18*9880d681SAndroid Build Coastguard Workerbody: |
19*9880d681SAndroid Build Coastguard Worker  bb.0.entry:
20*9880d681SAndroid Build Coastguard Worker    liveins: %lr, %fp, %lr, %fp
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker    %sp = frame-setup STPXpre killed %fp, killed %lr, %sp, -2
23*9880d681SAndroid Build Coastguard Worker    %fp = frame-setup ADDXri %sp, 0, 0
24*9880d681SAndroid Build Coastguard Worker    ; CHECK: CFI_INSTRUCTION .cfi_def_cfa %w29, 16
25*9880d681SAndroid Build Coastguard Worker    frame-setup CFI_INSTRUCTION .cfi_def_cfa %w29, 16
26*9880d681SAndroid Build Coastguard Worker    frame-setup CFI_INSTRUCTION .cfi_offset %w30, -8
27*9880d681SAndroid Build Coastguard Worker    frame-setup CFI_INSTRUCTION .cfi_offset %w29, -16
28*9880d681SAndroid Build Coastguard Worker    BL @foo, csr_aarch64_aapcs, implicit-def dead %lr, implicit %sp, implicit-def %sp
29*9880d681SAndroid Build Coastguard Worker    %sp, %fp, %lr = LDPXpost %sp, 2
30*9880d681SAndroid Build Coastguard Worker    RET_ReallyLR
31*9880d681SAndroid Build Coastguard Worker...
32