Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AArch64 / unreachable-emergency-spill-slot.mir
blobb7b2e282e563ee461170685750209a5588cedbb8
1 #RUN: llc -mtriple=aarch64-- -run-pass prologepilog %s -o - | FileCheck %s
2 # Check that we use the frame pointer to address the emergency spill slot.
3 # Using the base pointer will result in an assert with "Emergency spill slot is
4 # out of reach".
5 ---
6 name: hugeStack
7 # CHECK-LABEL: name: hugeStack
8 tracksRegLiveness: true
9 frameInfo:
10   localFrameSize:  256
11 stack:
12   - { id: 0, type: variable-sized,  alignment: 1 }
13   - { id: 1, name: '', size: 32761, alignment: 8 }
14 body: |
15   bb.0:
16     liveins: $x19, $x20, $x21, $x22, $x23, $x24, $x25, $x26, $x27, $x28
18     STRXui undef $x8, %stack.0, 0
19     ; CHECK: STRXui undef $x8, $fp, 0
20     B %bb.1
21   bb.1:
22     liveins: $x19, $x20, $x21, $x22, $x23, $x24, $x25, $x26, $x27, $x28
24     RET_ReallyLR implicit $x19, implicit $x20, implicit $x21, implicit $x22, implicit $x23, implicit $x24, implicit $x25, implicit $x26, implicit $x27, implicit $x28
25 ...
26 ---
27 name: fpDoesNotFit
28 # CHECK-LABEL: name: fpDoesNotFit
29 tracksRegLiveness: true
30 frameInfo:
31   hasStackMap: true
32 # set to true to force hasFP to true.
33 stack:
34   - { id: 0, name: '', size: 4096, alignment: 8 }
35   - { id: 1, name: '', size: 32761, alignment: 8 }
36 body: |
37   bb.0:
38     STRXui undef $x8, %stack.0, -34
39     ; Pick SP here. Picking FP will require scavenging a register.
40     ; CHECK: STRXui undef $x8, $sp, 4062
41     RET_ReallyLR