File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change 1+ # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+ # RUN: llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -run-pass=si-lower-sgpr-spills -o - %s | FileCheck %s
3+ # XFAIL: *
4+
5+ # FIXME : Currently, MRI's liveIn check for regiters does not take corresponding live-in's sub-registers in account. As a result
6+ # in SILowerSGPRSpills, the SubReg spill gets marked KILLED eventhough its SuperReg is in function Live-ins. This causes machine
7+ # verifier to now fail at direct usage of that SubReg, which intially should not be any problem before adding spill.
8+
9+ # CHECK: *** Bad machine code: Using an undefined physical register ***
10+
11+ ---
12+ name : spill_partial_live_csr_sgpr_argument_test_1
13+ tracksRegLiveness : true
14+ liveins :
15+ - { reg: '$sgpr50_sgpr51' }
16+ body : |
17+ bb.0:
18+ liveins: $sgpr50_sgpr51
19+
20+ S_NOP 0, implicit $sgpr50
21+ $sgpr50 = S_MOV_B32 0
22+
23+ ...
24+
25+ ---
26+ name : spill_partial_live_csr_sgpr_argument_test_2
27+ tracksRegLiveness : true
28+ liveins :
29+ - { reg: '$sgpr50_sgpr51' }
30+ body : |
31+ bb.0:
32+ liveins: $sgpr50_sgpr51
33+
34+ S_NOP 0, implicit $sgpr50
35+ $sgpr50_sgpr51 = S_MOV_B64 0
36+
37+ ...
38+
39+ ---
40+ name : spill_partial_live_csr_sgpr_argument_test_3
41+ tracksRegLiveness : true
42+ liveins :
43+ - { reg: '$sgpr52_sgpr53' }
44+ body : |
45+ bb.0:
46+ liveins: $sgpr52_sgpr53
47+
48+ S_NOP 0, implicit $sgpr53
49+ $sgpr52_sgpr53 = S_MOV_B64 0
50+ $sgpr54 = S_MOV_B32 0
51+
52+ ...
You can’t perform that action at this time.
0 commit comments