@@ -118,13 +118,13 @@ class HoistSpillHelper : private LiveRangeEdit::Delegate {
118118 MachineBasicBlock *Root, SmallPtrSet<MachineInstr *, 16 > &Spills,
119119 SmallVectorImpl<MachineDomTreeNode *> &Orders,
120120 SmallVectorImpl<MachineInstr *> &SpillsToRm,
121- DenseMap<MachineDomTreeNode *, unsigned > &SpillsToKeep,
121+ DenseMap<MachineDomTreeNode *, Register > &SpillsToKeep,
122122 DenseMap<MachineDomTreeNode *, MachineInstr *> &SpillBBToSpill);
123123
124124 void runHoistSpills (LiveInterval &OrigLI, VNInfo &OrigVNI,
125125 SmallPtrSet<MachineInstr *, 16 > &Spills,
126126 SmallVectorImpl<MachineInstr *> &SpillsToRm,
127- DenseMap<MachineBasicBlock *, unsigned > &SpillsToIns);
127+ DenseMap<MachineBasicBlock *, Register > &SpillsToIns);
128128
129129public:
130130 HoistSpillHelper (const Spiller::RequiredAnalyses &Analyses,
@@ -135,7 +135,7 @@ class HoistSpillHelper : private LiveRangeEdit::Delegate {
135135 IPA(LIS, mf.getNumBlockIDs()) {}
136136
137137 void addToMergeableSpills (MachineInstr &Spill, int StackSlot,
138- unsigned Original);
138+ Register Original);
139139 bool rmFromMergeableSpills (MachineInstr &Spill, int StackSlot);
140140 void hoistAllSpills ();
141141 void LRE_DidCloneVirtReg (Register, Register) override ;
@@ -815,7 +815,7 @@ void InlineSpiller::reMaterializeAll() {
815815bool InlineSpiller::coalesceStackAccess (MachineInstr *MI, Register Reg) {
816816 int FI = 0 ;
817817 Register InstrReg = TII.isLoadFromStackSlot (*MI, FI);
818- bool IsLoad = InstrReg;
818+ bool IsLoad = InstrReg. isValid () ;
819819 if (!IsLoad)
820820 InstrReg = TII.isStoreToStackSlot (*MI, FI);
821821
@@ -1314,7 +1314,7 @@ void InlineSpiller::postOptimization() { HSpiller.hoistAllSpills(); }
13141314
13151315// / When a spill is inserted, add the spill to MergeableSpills map.
13161316void HoistSpillHelper::addToMergeableSpills (MachineInstr &Spill, int StackSlot,
1317- unsigned Original) {
1317+ Register Original) {
13181318 BumpPtrAllocator &Allocator = LIS.getVNInfoAllocator ();
13191319 LiveInterval &OrigLI = LIS.getInterval (Original);
13201320 // save a copy of LiveInterval in StackSlotToOrigLI because the original
@@ -1412,7 +1412,7 @@ void HoistSpillHelper::getVisitOrders(
14121412 MachineBasicBlock *Root, SmallPtrSet<MachineInstr *, 16 > &Spills,
14131413 SmallVectorImpl<MachineDomTreeNode *> &Orders,
14141414 SmallVectorImpl<MachineInstr *> &SpillsToRm,
1415- DenseMap<MachineDomTreeNode *, unsigned > &SpillsToKeep,
1415+ DenseMap<MachineDomTreeNode *, Register > &SpillsToKeep,
14161416 DenseMap<MachineDomTreeNode *, MachineInstr *> &SpillBBToSpill) {
14171417 // The set contains all the possible BB nodes to which we may hoist
14181418 // original spills.
@@ -1460,7 +1460,7 @@ void HoistSpillHelper::getVisitOrders(
14601460 // containing original spills is set to 0, in order to descriminate
14611461 // with BBs containing hoisted spills which will be inserted to
14621462 // SpillsToKeep later during hoisting.
1463- SpillsToKeep[MDT[Block]] = 0 ;
1463+ SpillsToKeep[MDT[Block]] = Register () ;
14641464 WorkSet.insert (NodesOnPath.begin (), NodesOnPath.end ());
14651465 }
14661466 NodesOnPath.clear ();
@@ -1496,15 +1496,15 @@ void HoistSpillHelper::runHoistSpills(
14961496 LiveInterval &OrigLI, VNInfo &OrigVNI,
14971497 SmallPtrSet<MachineInstr *, 16 > &Spills,
14981498 SmallVectorImpl<MachineInstr *> &SpillsToRm,
1499- DenseMap<MachineBasicBlock *, unsigned > &SpillsToIns) {
1499+ DenseMap<MachineBasicBlock *, Register > &SpillsToIns) {
15001500 // Visit order of dominator tree nodes.
15011501 SmallVector<MachineDomTreeNode *, 32 > Orders;
15021502 // SpillsToKeep contains all the nodes where spills are to be inserted
15031503 // during hoisting. If the spill to be inserted is an original spill
15041504 // (not a hoisted one), the value of the map entry is 0. If the spill
15051505 // is a hoisted spill, the value of the map entry is the VReg to be used
15061506 // as the source of the spill.
1507- DenseMap<MachineDomTreeNode *, unsigned > SpillsToKeep;
1507+ DenseMap<MachineDomTreeNode *, Register > SpillsToKeep;
15081508 // Map from BB to the first spill inside of it.
15091509 DenseMap<MachineDomTreeNode *, MachineInstr *> SpillBBToSpill;
15101510
@@ -1658,7 +1658,7 @@ void HoistSpillHelper::hoistAllSpills() {
16581658 // SpillsToRm is the spill set to be removed from EqValSpills.
16591659 SmallVector<MachineInstr *, 16 > SpillsToRm;
16601660 // SpillsToIns is the spill set to be newly inserted after hoisting.
1661- DenseMap<MachineBasicBlock *, unsigned > SpillsToIns;
1661+ DenseMap<MachineBasicBlock *, Register > SpillsToIns;
16621662
16631663 runHoistSpills (OrigLI, *OrigVNI, EqValSpills, SpillsToRm, SpillsToIns);
16641664
0 commit comments