[llvm] r274295 - CodeGen: Use MachineInstr& in HoistSpillHelper, NFC
Duncan P. N. Exon Smith via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 30 16:28:15 PDT 2016
Author: dexonsmith
Date: Thu Jun 30 18:28:15 2016
New Revision: 274295
URL: http://llvm.org/viewvc/llvm-project?rev=274295&view=rev
Log:
CodeGen: Use MachineInstr& in HoistSpillHelper, NFC
Avoid another few implicit conversions from iterator to pointer.
Modified:
llvm/trunk/lib/CodeGen/InlineSpiller.cpp
Modified: llvm/trunk/lib/CodeGen/InlineSpiller.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/InlineSpiller.cpp?rev=274295&r1=274294&r2=274295&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/InlineSpiller.cpp (original)
+++ llvm/trunk/lib/CodeGen/InlineSpiller.cpp Thu Jun 30 18:28:15 2016
@@ -120,9 +120,9 @@ public:
MBFI(pass.getAnalysis<MachineBlockFrequencyInfo>()),
IPA(LIS, mf.getNumBlockIDs()) {}
- void addToMergeableSpills(MachineInstr *Spill, int StackSlot,
+ void addToMergeableSpills(MachineInstr &Spill, int StackSlot,
unsigned Original);
- bool rmFromMergeableSpills(MachineInstr *Spill, int StackSlot);
+ bool rmFromMergeableSpills(MachineInstr &Spill, int StackSlot);
void hoistAllSpills();
void LRE_DidCloneVirtReg(unsigned, unsigned) override;
};
@@ -394,7 +394,7 @@ bool InlineSpiller::hoistSpillInsideBB(L
LIS.InsertMachineInstrInMaps(*MII);
DEBUG(dbgs() << "\thoisted: " << SrcVNI->def << '\t' << *MII);
- HSpiller.addToMergeableSpills(&(*MII), StackSlot, Original);
+ HSpiller.addToMergeableSpills(*MII, StackSlot, Original);
++NumSpills;
return true;
}
@@ -453,7 +453,7 @@ void InlineSpiller::eliminateRedundantSp
MI.setDesc(TII.get(TargetOpcode::KILL));
DeadDefs.push_back(&MI);
++NumSpillsRemoved;
- if (HSpiller.rmFromMergeableSpills(&MI, StackSlot))
+ if (HSpiller.rmFromMergeableSpills(MI, StackSlot))
--NumSpills;
}
}
@@ -666,7 +666,7 @@ bool InlineSpiller::coalesceStackAccess(
return false;
if (!IsLoad)
- HSpiller.rmFromMergeableSpills(MI, StackSlot);
+ HSpiller.rmFromMergeableSpills(*MI, StackSlot);
DEBUG(dbgs() << "Coalescing stack access: " << *MI);
LIS.RemoveMachineInstrFromMaps(*MI);
@@ -793,7 +793,8 @@ foldMemoryOperand(ArrayRef<std::pair<Mac
}
int FI;
- if (TII.isStoreToStackSlot(*MI, FI) && HSpiller.rmFromMergeableSpills(MI, FI))
+ if (TII.isStoreToStackSlot(*MI, FI) &&
+ HSpiller.rmFromMergeableSpills(*MI, FI))
--NumSpills;
LIS.ReplaceMachineInstrInMaps(*MI, *FoldMI);
MI->eraseFromParent();
@@ -822,7 +823,7 @@ foldMemoryOperand(ArrayRef<std::pair<Mac
++NumFolded;
else if (Ops.front().second == 0) {
++NumSpills;
- HSpiller.addToMergeableSpills(FoldMI, StackSlot, Original);
+ HSpiller.addToMergeableSpills(*FoldMI, StackSlot, Original);
} else
++NumReloads;
return true;
@@ -858,7 +859,7 @@ void InlineSpiller::insertSpill(unsigned
DEBUG(dumpMachineInstrRangeWithSlotIndex(std::next(MI), MIS.end(), LIS,
"spill"));
++NumSpills;
- HSpiller.addToMergeableSpills(std::next(MI), StackSlot, Original);
+ HSpiller.addToMergeableSpills(*std::next(MI), StackSlot, Original);
}
/// spillAroundUses - insert spill code around each use of Reg.
@@ -1050,27 +1051,27 @@ void InlineSpiller::postOptimization() {
/// When a spill is inserted, add the spill to MergeableSpills map.
///
-void HoistSpillHelper::addToMergeableSpills(MachineInstr *Spill, int StackSlot,
+void HoistSpillHelper::addToMergeableSpills(MachineInstr &Spill, int StackSlot,
unsigned Original) {
StackSlotToReg[StackSlot] = Original;
- SlotIndex Idx = LIS.getInstructionIndex(*Spill);
+ SlotIndex Idx = LIS.getInstructionIndex(Spill);
VNInfo *OrigVNI = LIS.getInterval(Original).getVNInfoAt(Idx.getRegSlot());
std::pair<int, VNInfo *> MIdx = std::make_pair(StackSlot, OrigVNI);
- MergeableSpills[MIdx].insert(Spill);
+ MergeableSpills[MIdx].insert(&Spill);
}
/// When a spill is removed, remove the spill from MergeableSpills map.
/// Return true if the spill is removed successfully.
///
-bool HoistSpillHelper::rmFromMergeableSpills(MachineInstr *Spill,
+bool HoistSpillHelper::rmFromMergeableSpills(MachineInstr &Spill,
int StackSlot) {
int Original = StackSlotToReg[StackSlot];
if (!Original)
return false;
- SlotIndex Idx = LIS.getInstructionIndex(*Spill);
+ SlotIndex Idx = LIS.getInstructionIndex(Spill);
VNInfo *OrigVNI = LIS.getInterval(Original).getVNInfoAt(Idx.getRegSlot());
std::pair<int, VNInfo *> MIdx = std::make_pair(StackSlot, OrigVNI);
- return MergeableSpills[MIdx].erase(Spill);
+ return MergeableSpills[MIdx].erase(&Spill);
}
/// Check BB to see if it is a possible target BB to place a hoisted spill,
More information about the llvm-commits
mailing list