|
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