|
1 |
| -# RUN: llc -run-pass=aarch64-expand-pseudo -mtriple=arm64-apple-ios -o - -emit-call-site-info %s | FileCheck %s |
| 1 | +# RUN: llc -run-pass=aarch64-expand-pseudo -mtriple=arm64-apple-ios -o - -emit-call-site-info %s -verify-machineinstrs | FileCheck %s |
2 | 2 |
|
3 | 3 | --- |
|
4 | 4 | define void @test_1_callsite_info() {
|
|
25 | 25 | ret void
|
26 | 26 | }
|
27 | 27 |
|
| 28 | + define void @test_blr_undef_arg_in_x0() { |
| 29 | + ret void |
| 30 | + } |
| 31 | + |
28 | 32 | declare i8* @attachedcall()
|
| 33 | + |
| 34 | + declare ptr @objc_retainAutoreleasedReturnValue() |
29 | 35 | ...
|
30 | 36 | ---
|
31 | 37 |
|
@@ -132,3 +138,26 @@ body: |
|
132 | 138 | BLR_RVMARKER @attachedcall, $x8, $w0, $w1, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def dead $x0
|
133 | 139 | RET_ReallyLR implicit killed $w0
|
134 | 140 | ...
|
| 141 | + |
| 142 | +# Test for https://github.com/llvm/llvm-project/issues/68005. |
| 143 | +# |
| 144 | +# CHECK-LABEL: : test_blr_undef_arg_in_x0 |
| 145 | +# CHECK: bb.0: |
| 146 | +# CHECK-NEXT: liveins: |
| 147 | +# CHECK-NEXT: {{ $}} |
| 148 | +# CHECK-NEXT: BUNDLE implicit-def $lr, implicit-def $w30, implicit-def $sp, implicit-def $wsp, implicit-def dead $x0, implicit-def $fp, implicit-def $w29, implicit $sp, implicit undef $x0, implicit $xzr, implicit $fp { |
| 149 | +# CHECK-NEXT: BL @foo, csr_darwin_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit undef $x0, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def dead $x0 |
| 150 | +# CHECK-NEXT: $fp = ORRXrs $xzr, $fp, 0 |
| 151 | +# CHECK-NEXT: BL @objc_retainAutoreleasedReturnValue, implicit-def $lr, implicit internal $sp |
| 152 | +# CHECK-NEXT: } |
| 153 | +# CHECK-NEXT: RET undef $lr |
| 154 | +# |
| 155 | +name: test_blr_undef_arg_in_x0 |
| 156 | +tracksRegLiveness: true |
| 157 | +body: | |
| 158 | + bb.0: |
| 159 | + liveins: $lr |
| 160 | +
|
| 161 | + BLR_RVMARKER @objc_retainAutoreleasedReturnValue, @foo, undef $x0, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def dead $x0 |
| 162 | + RET_ReallyLR |
| 163 | +... |
0 commit comments