|
1 | 1 | # RUN: llc -mtriple=s390x-linux-gnu -start-before=prologepilog %s -o - -print-after=prologepilog \
|
2 | 2 | # RUN: -verify-machineinstrs 2>&1 | FileCheck %s
|
3 |
| -# REQUIRES: asserts |
4 | 3 | #
|
5 | 4 | # Test that R6 when used for an argument is modelled as being live throughout
|
6 | 5 | # the function when not saved in the prologue..
|
|
15 | 14 |
|
16 | 15 |
|
17 | 16 | --- |
|
18 |
| - |
| 17 | + |
19 | 18 | @g_181 = external dso_local global i32, align 4
|
20 | 19 | @g_1390 = external dso_local constant ptr, align 8
|
21 |
| - |
| 20 | + |
22 | 21 | define internal i8 @fun0(i8 %arg, i8 %arg1, i32 %arg2, i8 %arg3, ptr %arg4, float %F0, float %F1) #0 {
|
23 | 22 | ret i8 0
|
24 | 23 | }
|
25 |
| - |
| 24 | + |
26 | 25 | ; Same function but in a single block which will make the verifier complain
|
27 | 26 | ; if R6 is killed by the original store before the point where the
|
28 | 27 | ; RegScavenger inserts its (killing) store of R6.
|
29 | 28 | define internal i8 @fun1(i8 %arg, i8 %arg1, i32 %arg2, i8 %arg3, ptr %arg4) #0 {
|
30 | 29 | ret i8 0
|
31 | 30 | }
|
32 |
| - |
| 31 | + |
33 | 32 | attributes #0 = { "frame-pointer"="all" }
|
34 | 33 |
|
35 | 34 | ...
|
@@ -74,21 +73,21 @@ machineFunctionInfo: {}
|
74 | 73 | body: |
|
75 | 74 | bb.0:
|
76 | 75 | liveins: $f0s, $f2s, $r6d
|
77 |
| - |
| 76 | +
|
78 | 77 | STG killed renamable $r6d, undef renamable $r1d, 0, $noreg :: (store (s64) into `ptr undef`)
|
79 | 78 | renamable $r0d = LARL @g_181
|
80 | 79 | nofpexcept CEBR renamable $f0s, renamable $f2s, implicit-def $cc, implicit $fpc
|
81 | 80 | STG renamable $r0d, undef renamable $r1d, 0, $noreg :: (store (s64) into `ptr undef`)
|
82 | 81 | BRC 15, 4, %bb.2, implicit killed $cc
|
83 |
| - |
| 82 | +
|
84 | 83 | bb.1:
|
85 | 84 | liveins: $f2s, $r0d
|
86 |
| - |
| 85 | +
|
87 | 86 | renamable $f0s = COPY killed renamable $f2s
|
88 |
| - |
| 87 | +
|
89 | 88 | bb.2:
|
90 | 89 | liveins: $f0s, $r0d
|
91 |
| - |
| 90 | +
|
92 | 91 | STE killed renamable $f0s, undef renamable $r1d, 0, $noreg :: (volatile store (s32) into `ptr undef`)
|
93 | 92 | renamable $r1d = nuw LA %stack.0, 16, $noreg
|
94 | 93 | renamable $r2d = nuw LA %stack.0, 24, $noreg
|
@@ -161,7 +160,7 @@ machineFunctionInfo: {}
|
161 | 160 | body: |
|
162 | 161 | bb.0:
|
163 | 162 | liveins: $r6d
|
164 |
| - |
| 163 | +
|
165 | 164 | STG killed renamable $r6d, undef renamable $r1d, 0, $noreg :: (store (s64) into `ptr undef`)
|
166 | 165 | renamable $r0d = LARL @g_181
|
167 | 166 | STG renamable $r0d, undef renamable $r1d, 0, $noreg :: (store (s64) into `ptr undef`)
|
|
0 commit comments