File tree 1 file changed +5
-3
lines changed
1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -93,9 +93,11 @@ void RegisterClassInfo::runOnMachineFunction(const MachineFunction &mf) {
93
93
// Even if CSR list is same, we could have had a different allocation order
94
94
// if ignoreCSRForAllocationOrder is evaluated differently.
95
95
BitVector CSRHintsForAllocOrder (TRI->getNumRegs ());
96
- for (MCPhysReg I = 1 , E = TRI->getNumRegs (); I != E; ++I)
97
- CSRHintsForAllocOrder[I] = STI.ignoreCSRForAllocationOrder (mf, I);
98
- if (IgnoreCSRForAllocOrder != CSRHintsForAllocOrder) {
96
+ for (const MCPhysReg *I = CSR; *I; ++I)
97
+ for (MCRegAliasIterator AI (*I, TRI, true ); AI.isValid (); ++AI)
98
+ CSRHintsForAllocOrder[*AI] = STI.ignoreCSRForAllocationOrder (mf, *AI);
99
+ if (IgnoreCSRForAllocOrder.size () != CSRHintsForAllocOrder.size () ||
100
+ IgnoreCSRForAllocOrder != CSRHintsForAllocOrder) {
99
101
Update = true ;
100
102
IgnoreCSRForAllocOrder = CSRHintsForAllocOrder;
101
103
}
You can’t perform that action at this time.
0 commit comments