Commit 0563569
[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (llvm#134153)
PHI operands and results must belong to the same register class.
If a PHI node produces an SGPR, but one of its operands is a VGPR, we
insert a VGPR-to-SGPR copy in the operand’s source block. The PHI
operand is then updated to use the destination register of the inserted
copy.
These inserted copies are processed immediately when they are created.
Therefore, we should avoid reprocessing them when handling their parent
block later.
---------
Co-authored-by: Matt Arsenault <[email protected]>1 parent 3c6c5c7 commit 0563569
File tree
38 files changed
+8192
-7016
lines changed- llvm
- lib/Target/AMDGPU
- test/CodeGen/AMDGPU
38 files changed
+8192
-7016
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| 130 | + | |
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
| |||
691 | 692 | | |
692 | 693 | | |
693 | 694 | | |
694 | | - | |
695 | | - | |
696 | | - | |
697 | 695 | | |
| 696 | + | |
698 | 697 | | |
699 | 698 | | |
700 | 699 | | |
| |||
801 | 800 | | |
802 | 801 | | |
803 | 802 | | |
| 803 | + | |
804 | 804 | | |
805 | 805 | | |
806 | 806 | | |
| |||
926 | 926 | | |
927 | 927 | | |
928 | 928 | | |
| 929 | + | |
| 930 | + | |
929 | 931 | | |
930 | 932 | | |
931 | 933 | | |
932 | 934 | | |
933 | 935 | | |
934 | | - | |
935 | | - | |
936 | 936 | | |
937 | 937 | | |
938 | 938 | | |
| |||
971 | 971 | | |
972 | 972 | | |
973 | 973 | | |
974 | | - | |
| 974 | + | |
975 | 975 | | |
976 | 976 | | |
| 977 | + | |
977 | 978 | | |
978 | 979 | | |
979 | 980 | | |
980 | 981 | | |
981 | 982 | | |
982 | 983 | | |
983 | 984 | | |
| 985 | + | |
984 | 986 | | |
985 | 987 | | |
986 | 988 | | |
| |||
0 commit comments