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