[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / wineh-save-lrpair3.mir
blobe45cf9ff3e4c825e852b184535b6a618a5f14f26
1 # RUN: llc -o - %s -mtriple=aarch64-windows -start-before=prologepilog \
2 # RUN:   -stop-after=prologepilog | FileCheck %s
4 # Check that an unpaired register that is even isn't paired with lr.
6 # CHECK: early-clobber $sp = frame-setup STPXpre killed $x19, killed $x20, $sp, -4
7 # CHECK-NEXT: frame-setup SEH_SaveRegP_X 19, 20, -32
8 # CHECK-NEXT: frame-setup STRXui killed $x22, $sp, 2
9 # CHECK-NEXT: frame-setup SEH_SaveReg 22, 16
10 # CHECK-NEXT: frame-setup STRXui killed $lr, $sp, 3
11 # CHECK-NEXT: frame-setup SEH_SaveReg 30, 24
12 # CHECK-NEXT: frame-setup SEH_PrologEnd
14 --- |
16   define dso_local i32 @func(i32 %a) { ret i32 %a }
17   declare dso_local i32 @other()
19 ...
20 ---
21 name:            func
22 alignment:       4
23 exposesReturnsTwice: false
24 legalized:       false
25 regBankSelected: false
26 selected:        false
27 failedISel:      false
28 tracksRegLiveness: true
29 hasWinCFI:       false
30 registers:       []
31 liveins:         []
32 frameInfo:
33   isFrameAddressTaken: false
34   isReturnAddressTaken: false
35   hasStackMap:     false
36   hasPatchPoint:   false
37   stackSize:       0
38   offsetAdjustment: 0
39   maxAlignment:    4
40   adjustsStack:    false
41   hasCalls:        false
42   stackProtector:  ''
43   maxCallFrameSize: 0
44   cvBytesOfCalleeSavedRegisters: 0
45   hasOpaqueSPAdjustment: false
46   hasVAStart:      false
47   hasMustTailInVarArgFunc: false
48   localFrameSize:  4
49   savePoint:       ''
50   restorePoint:    ''
51 fixedStack:      []
52 stack:           []
53 callSites:       []
54 constants:       []
55 machineFunctionInfo: {}
56 body:             |
57   bb.0:
58     liveins: $x0, $x22, $x19, $x20
60     BL @other, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $w0, implicit-def $sp, implicit-def $w0
61     $x19 = ADDXrr $x0, $x0
62     $x20 = ADDXrr $x19, $x0
63     $x22 = ADDXrr $x20, killed $x19
64     $x0 = ADDXrr $x0, killed $x22
66     RET_ReallyLR
68 ...