@@ -118,13 +118,13 @@ class HoistSpillHelper : private LiveRangeEdit::Delegate {
118
118
MachineBasicBlock *Root, SmallPtrSet<MachineInstr *, 16 > &Spills,
119
119
SmallVectorImpl<MachineDomTreeNode *> &Orders,
120
120
SmallVectorImpl<MachineInstr *> &SpillsToRm,
121
- DenseMap<MachineDomTreeNode *, unsigned > &SpillsToKeep,
121
+ DenseMap<MachineDomTreeNode *, Register > &SpillsToKeep,
122
122
DenseMap<MachineDomTreeNode *, MachineInstr *> &SpillBBToSpill);
123
123
124
124
void runHoistSpills (LiveInterval &OrigLI, VNInfo &OrigVNI,
125
125
SmallPtrSet<MachineInstr *, 16 > &Spills,
126
126
SmallVectorImpl<MachineInstr *> &SpillsToRm,
127
- DenseMap<MachineBasicBlock *, unsigned > &SpillsToIns);
127
+ DenseMap<MachineBasicBlock *, Register > &SpillsToIns);
128
128
129
129
public:
130
130
HoistSpillHelper (const Spiller::RequiredAnalyses &Analyses,
@@ -135,7 +135,7 @@ class HoistSpillHelper : private LiveRangeEdit::Delegate {
135
135
IPA(LIS, mf.getNumBlockIDs()) {}
136
136
137
137
void addToMergeableSpills (MachineInstr &Spill, int StackSlot,
138
- unsigned Original);
138
+ Register Original);
139
139
bool rmFromMergeableSpills (MachineInstr &Spill, int StackSlot);
140
140
void hoistAllSpills ();
141
141
void LRE_DidCloneVirtReg (Register, Register) override ;
@@ -815,7 +815,7 @@ void InlineSpiller::reMaterializeAll() {
815
815
bool InlineSpiller::coalesceStackAccess (MachineInstr *MI, Register Reg) {
816
816
int FI = 0 ;
817
817
Register InstrReg = TII.isLoadFromStackSlot (*MI, FI);
818
- bool IsLoad = InstrReg;
818
+ bool IsLoad = InstrReg. isValid () ;
819
819
if (!IsLoad)
820
820
InstrReg = TII.isStoreToStackSlot (*MI, FI);
821
821
@@ -1314,7 +1314,7 @@ void InlineSpiller::postOptimization() { HSpiller.hoistAllSpills(); }
1314
1314
1315
1315
// / When a spill is inserted, add the spill to MergeableSpills map.
1316
1316
void HoistSpillHelper::addToMergeableSpills (MachineInstr &Spill, int StackSlot,
1317
- unsigned Original) {
1317
+ Register Original) {
1318
1318
BumpPtrAllocator &Allocator = LIS.getVNInfoAllocator ();
1319
1319
LiveInterval &OrigLI = LIS.getInterval (Original);
1320
1320
// save a copy of LiveInterval in StackSlotToOrigLI because the original
@@ -1412,7 +1412,7 @@ void HoistSpillHelper::getVisitOrders(
1412
1412
MachineBasicBlock *Root, SmallPtrSet<MachineInstr *, 16 > &Spills,
1413
1413
SmallVectorImpl<MachineDomTreeNode *> &Orders,
1414
1414
SmallVectorImpl<MachineInstr *> &SpillsToRm,
1415
- DenseMap<MachineDomTreeNode *, unsigned > &SpillsToKeep,
1415
+ DenseMap<MachineDomTreeNode *, Register > &SpillsToKeep,
1416
1416
DenseMap<MachineDomTreeNode *, MachineInstr *> &SpillBBToSpill) {
1417
1417
// The set contains all the possible BB nodes to which we may hoist
1418
1418
// original spills.
@@ -1460,7 +1460,7 @@ void HoistSpillHelper::getVisitOrders(
1460
1460
// containing original spills is set to 0, in order to descriminate
1461
1461
// with BBs containing hoisted spills which will be inserted to
1462
1462
// SpillsToKeep later during hoisting.
1463
- SpillsToKeep[MDT[Block]] = 0 ;
1463
+ SpillsToKeep[MDT[Block]] = Register () ;
1464
1464
WorkSet.insert (NodesOnPath.begin (), NodesOnPath.end ());
1465
1465
}
1466
1466
NodesOnPath.clear ();
@@ -1496,15 +1496,15 @@ void HoistSpillHelper::runHoistSpills(
1496
1496
LiveInterval &OrigLI, VNInfo &OrigVNI,
1497
1497
SmallPtrSet<MachineInstr *, 16 > &Spills,
1498
1498
SmallVectorImpl<MachineInstr *> &SpillsToRm,
1499
- DenseMap<MachineBasicBlock *, unsigned > &SpillsToIns) {
1499
+ DenseMap<MachineBasicBlock *, Register > &SpillsToIns) {
1500
1500
// Visit order of dominator tree nodes.
1501
1501
SmallVector<MachineDomTreeNode *, 32 > Orders;
1502
1502
// SpillsToKeep contains all the nodes where spills are to be inserted
1503
1503
// during hoisting. If the spill to be inserted is an original spill
1504
1504
// (not a hoisted one), the value of the map entry is 0. If the spill
1505
1505
// is a hoisted spill, the value of the map entry is the VReg to be used
1506
1506
// as the source of the spill.
1507
- DenseMap<MachineDomTreeNode *, unsigned > SpillsToKeep;
1507
+ DenseMap<MachineDomTreeNode *, Register > SpillsToKeep;
1508
1508
// Map from BB to the first spill inside of it.
1509
1509
DenseMap<MachineDomTreeNode *, MachineInstr *> SpillBBToSpill;
1510
1510
@@ -1658,7 +1658,7 @@ void HoistSpillHelper::hoistAllSpills() {
1658
1658
// SpillsToRm is the spill set to be removed from EqValSpills.
1659
1659
SmallVector<MachineInstr *, 16 > SpillsToRm;
1660
1660
// SpillsToIns is the spill set to be newly inserted after hoisting.
1661
- DenseMap<MachineBasicBlock *, unsigned > SpillsToIns;
1661
+ DenseMap<MachineBasicBlock *, Register > SpillsToIns;
1662
1662
1663
1663
runHoistSpills (OrigLI, *OrigVNI, EqValSpills, SpillsToRm, SpillsToIns);
1664
1664
0 commit comments