|
5 | 5 | # in SILowerSGPRSpills, the SubReg spill gets marked KILLED even though its SuperReg is in the function Live-ins. This causes machine
|
6 | 6 | # verifier to now fail at direct usage of that SubReg, which intially should not be any problem before adding spill.
|
7 | 7 |
|
8 |
| -# VERIFIER: *** Bad machine code: Using an undefined physical register *** |
| 8 | +# VERIFIER: After SI lower SGPR spill instructions |
9 | 9 |
|
10 |
| ---- |
11 |
| -name: spill_partial_live_csr_sgpr_argument_test_1 |
12 |
| -tracksRegLiveness: true |
13 |
| -liveins: |
14 |
| - - { reg: '$sgpr50_sgpr51' } |
15 |
| -body: | |
16 |
| - bb.0: |
17 |
| - liveins: $sgpr50_sgpr51 |
| 10 | +# VERIFIER: *** Bad machine code: Using an undefined physical register *** |
| 11 | +# VERIFIER: - instruction: S_NOP 0, implicit $sgpr50 |
| 12 | +# VERIFIER-NEXT: - operand 1: implicit $sgpr50 |
18 | 13 |
|
19 |
| - S_NOP 0, implicit $sgpr50 |
20 |
| - $sgpr50 = S_MOV_B32 0 |
| 14 | +# VERIFIER: *** Bad machine code: Using an undefined physical register *** |
| 15 | +# VERIFIER: - instruction: S_NOP 0, implicit $sgpr52 |
| 16 | +# VERIFIER-NEXT: - operand 1: implicit $sgpr52 |
21 | 17 |
|
22 |
| -... |
| 18 | +# VERIFIER: *** Bad machine code: Using an undefined physical register *** |
| 19 | +# VERIFIER: - instruction: S_NOP 0, implicit $sgpr55 |
| 20 | +# VERIFIER-NEXT: - operand 1: implicit $sgpr55 |
23 | 21 |
|
| 22 | +# VERIFIER: LLVM ERROR: Found 3 machine code errors. |
24 | 23 | ---
|
25 |
| -name: spill_partial_live_csr_sgpr_argument_test_2 |
| 24 | +name: spill_partial_live_csr_sgpr_test |
26 | 25 | tracksRegLiveness: true
|
27 | 26 | liveins:
|
28 | 27 | - { reg: '$sgpr50_sgpr51' }
|
29 |
| -body: | |
30 |
| - bb.0: |
31 |
| - liveins: $sgpr50_sgpr51 |
32 |
| -
|
33 |
| - S_NOP 0, implicit $sgpr50 |
34 |
| - $sgpr50_sgpr51 = S_MOV_B64 0 |
35 |
| -
|
36 |
| -... |
37 |
| - |
38 |
| ---- |
39 |
| -name: spill_partial_live_csr_sgpr_argument_test_3 |
40 |
| -tracksRegLiveness: true |
41 |
| -liveins: |
42 | 28 | - { reg: '$sgpr52_sgpr53' }
|
| 29 | + - { reg: '$sgpr54_sgpr55' } |
43 | 30 | body: |
|
44 | 31 | bb.0:
|
45 |
| - liveins: $sgpr52_sgpr53 |
| 32 | + liveins: $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55 |
46 | 33 |
|
47 |
| - S_NOP 0, implicit $sgpr53 |
| 34 | + S_NOP 0, implicit $sgpr50 |
| 35 | + $sgpr50 = S_MOV_B32 0 |
| 36 | + S_NOP 0, implicit $sgpr52 |
48 | 37 | $sgpr52_sgpr53 = S_MOV_B64 0
|
49 |
| - $sgpr54 = S_MOV_B32 0 |
50 |
| -
|
| 38 | + S_NOP 0, implicit $sgpr55 |
| 39 | + $sgpr54_sgpr55 = S_MOV_B64 0 |
| 40 | + $sgpr56 = S_MOV_B32 0 |
51 | 41 | ...
|
| 42 | + |
0 commit comments