mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-19 23:23:38 -04:00
CodeGen: Use MachineInstr& in SlotIndexes.cpp, NFC
Avoid implicit conversions from iterator to pointer by preferring MachineInstr& and using range-based for loops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274354 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
+13
-18
@@ -69,34 +69,29 @@ bool SlotIndexes::runOnMachineFunction(MachineFunction &fn) {
|
||||
indexList.push_back(createEntry(nullptr, index));
|
||||
|
||||
// Iterate over the function.
|
||||
for (MachineFunction::iterator mbbItr = mf->begin(), mbbEnd = mf->end();
|
||||
mbbItr != mbbEnd; ++mbbItr) {
|
||||
MachineBasicBlock *mbb = &*mbbItr;
|
||||
|
||||
for (MachineBasicBlock &MBB : *mf) {
|
||||
// Insert an index for the MBB start.
|
||||
SlotIndex blockStartIndex(&indexList.back(), SlotIndex::Slot_Block);
|
||||
|
||||
for (MachineBasicBlock::iterator miItr = mbb->begin(), miEnd = mbb->end();
|
||||
miItr != miEnd; ++miItr) {
|
||||
MachineInstr *mi = miItr;
|
||||
if (mi->isDebugValue())
|
||||
for (MachineInstr &MI : MBB) {
|
||||
if (MI.isDebugValue())
|
||||
continue;
|
||||
|
||||
// Insert a store index for the instr.
|
||||
indexList.push_back(createEntry(mi, index += SlotIndex::InstrDist));
|
||||
indexList.push_back(createEntry(&MI, index += SlotIndex::InstrDist));
|
||||
|
||||
// Save this base index in the maps.
|
||||
mi2iMap.insert(std::make_pair(mi, SlotIndex(&indexList.back(),
|
||||
SlotIndex::Slot_Block)));
|
||||
mi2iMap.insert(std::make_pair(
|
||||
&MI, SlotIndex(&indexList.back(), SlotIndex::Slot_Block)));
|
||||
}
|
||||
|
||||
// We insert one blank instructions between basic blocks.
|
||||
indexList.push_back(createEntry(nullptr, index += SlotIndex::InstrDist));
|
||||
|
||||
MBBRanges[mbb->getNumber()].first = blockStartIndex;
|
||||
MBBRanges[mbb->getNumber()].second = SlotIndex(&indexList.back(),
|
||||
MBBRanges[MBB.getNumber()].first = blockStartIndex;
|
||||
MBBRanges[MBB.getNumber()].second = SlotIndex(&indexList.back(),
|
||||
SlotIndex::Slot_Block);
|
||||
idx2MBBMap.push_back(IdxMBBPair(blockStartIndex, mbb));
|
||||
idx2MBBMap.push_back(IdxMBBPair(blockStartIndex, &MBB));
|
||||
}
|
||||
|
||||
// Sort the Idx2MBBMap
|
||||
@@ -182,7 +177,7 @@ void SlotIndexes::repairIndexesInRange(MachineBasicBlock *MBB,
|
||||
"Decremented past the beginning of region to repair.");
|
||||
|
||||
MachineInstr *SlotMI = ListI->getInstr();
|
||||
MachineInstr *MI = (MBBI != MBB->end() && !pastStart) ? MBBI : nullptr;
|
||||
MachineInstr *MI = (MBBI != MBB->end() && !pastStart) ? &*MBBI : nullptr;
|
||||
bool MBBIAtBegin = MBBI == Begin && (!includeStart || pastStart);
|
||||
|
||||
if (SlotMI == MI && !MBBIAtBegin) {
|
||||
@@ -207,9 +202,9 @@ void SlotIndexes::repairIndexesInRange(MachineBasicBlock *MBB,
|
||||
// to update the IndexList while we are iterating it.
|
||||
for (MachineBasicBlock::iterator I = End; I != Begin;) {
|
||||
--I;
|
||||
MachineInstr *MI = I;
|
||||
if (!MI->isDebugValue() && mi2iMap.find(MI) == mi2iMap.end())
|
||||
insertMachineInstrInMaps(*MI);
|
||||
MachineInstr &MI = *I;
|
||||
if (!MI.isDebugValue() && mi2iMap.find(&MI) == mi2iMap.end())
|
||||
insertMachineInstrInMaps(MI);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user