1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

[CodeGen] Use range-based for loops (NFC)

This commit is contained in:
Kazu Hirata 2021-02-12 23:44:33 -08:00
parent f0327193f8
commit 9c56d039e9
7 changed files with 27 additions and 38 deletions

View File

@ -65,9 +65,8 @@ void CriticalAntiDepBreaker::StartBlock(MachineBasicBlock *BB) {
bool IsReturnBlock = BB->isReturnBlock();
// Examine the live-in regs of all successors.
for (MachineBasicBlock::succ_iterator SI = BB->succ_begin(),
SE = BB->succ_end(); SI != SE; ++SI)
for (const auto &LI : (*SI)->liveins()) {
for (const MachineBasicBlock *Succ : BB->successors())
for (const auto &LI : Succ->liveins()) {
for (MCRegAliasIterator AI(LI.PhysReg, TRI, true); AI.isValid(); ++AI) {
unsigned Reg = *AI;
Classes[Reg] = reinterpret_cast<TargetRegisterClass *>(-1);
@ -143,17 +142,16 @@ static const SDep *CriticalPathStep(const SUnit *SU) {
const SDep *Next = nullptr;
unsigned NextDepth = 0;
// Find the predecessor edge with the greatest depth.
for (SUnit::const_pred_iterator P = SU->Preds.begin(), PE = SU->Preds.end();
P != PE; ++P) {
const SUnit *PredSU = P->getSUnit();
unsigned PredLatency = P->getLatency();
for (const SDep &P : SU->Preds) {
const SUnit *PredSU = P.getSUnit();
unsigned PredLatency = P.getLatency();
unsigned PredTotalLatency = PredSU->getDepth() + PredLatency;
// In the case of a latency tie, prefer an anti-dependency edge over
// other types of edges.
if (NextDepth < PredTotalLatency ||
(NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) {
(NextDepth == PredTotalLatency && P.getKind() == SDep::Anti)) {
NextDepth = PredTotalLatency;
Next = &*P;
Next = &P;
}
}
return Next;
@ -426,9 +424,8 @@ findSuitableFreeRegister(RegRefIter RegRefBegin,
continue;
// If NewReg overlaps any of the forbidden registers, we can't use it.
bool Forbidden = false;
for (SmallVectorImpl<unsigned>::iterator it = Forbid.begin(),
ite = Forbid.end(); it != ite; ++it)
if (TRI->regsOverlap(NewReg, *it)) {
for (unsigned R : Forbid)
if (TRI->regsOverlap(NewReg, R)) {
Forbidden = true;
break;
}
@ -582,11 +579,11 @@ BreakAntiDependencies(const std::vector<SUnit> &SUnits,
// Also, if there are dependencies on other SUnits with the
// same register as the anti-dependency, don't attempt to
// break it.
for (SUnit::const_pred_iterator P = CriticalPathSU->Preds.begin(),
PE = CriticalPathSU->Preds.end(); P != PE; ++P)
if (P->getSUnit() == NextSU ?
(P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) :
(P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) {
for (const SDep &P : CriticalPathSU->Preds)
if (P.getSUnit() == NextSU
? (P.getKind() != SDep::Anti || P.getReg() != AntiDepReg)
: (P.getKind() == SDep::Data &&
P.getReg() == AntiDepReg)) {
AntiDepReg = 0;
break;
}

View File

@ -132,10 +132,8 @@ bool DeadMachineInstructionElim::eliminateDeadMI(MachineFunction &MF) {
// Add live-ins from successors to LivePhysRegs. Normally, physregs are not
// live across blocks, but some targets (x86) can have flags live out of a
// block.
for (MachineBasicBlock::succ_iterator S = MBB->succ_begin(),
E = MBB->succ_end();
S != E; S++)
for (const auto &LI : (*S)->liveins())
for (const MachineBasicBlock *Succ : MBB->successors())
for (const auto &LI : Succ->liveins())
LivePhysRegs.set(LI.PhysReg);
// Now scan the instructions and delete dead ones, tracking physreg

View File

@ -46,9 +46,8 @@ bool EdgeBundles::runOnMachineFunction(MachineFunction &mf) {
for (const auto &MBB : *MF) {
unsigned OutE = 2 * MBB.getNumber() + 1;
// Join the outgoing bundle with the ingoing bundles of all successors.
for (MachineBasicBlock::const_succ_iterator SI = MBB.succ_begin(),
SE = MBB.succ_end(); SI != SE; ++SI)
EC.join(OutE, 2 * (*SI)->getNumber());
for (const MachineBasicBlock *Succ : MBB.successors())
EC.join(OutE, 2 * Succ->getNumber());
}
EC.compress();
if (ViewEdgeBundles)
@ -86,10 +85,9 @@ raw_ostream &WriteGraph<>(raw_ostream &O, const EdgeBundles &G,
<< "\"\n"
<< "\t\"" << printMBBReference(MBB) << "\" -> " << G.getBundle(BB, true)
<< '\n';
for (MachineBasicBlock::const_succ_iterator SI = MBB.succ_begin(),
SE = MBB.succ_end(); SI != SE; ++SI)
for (const MachineBasicBlock *Succ : MBB.successors())
O << "\t\"" << printMBBReference(MBB) << "\" -> \""
<< printMBBReference(**SI) << "\" [ color=lightgray ]\n";
<< printMBBReference(*Succ) << "\" [ color=lightgray ]\n";
}
O << "}\n";
return O;

View File

@ -188,9 +188,8 @@ bool ExpandPostRA::runOnMachineFunction(MachineFunction &MF) {
bool MadeChange = false;
for (MachineFunction::iterator mbbi = MF.begin(), mbbe = MF.end();
mbbi != mbbe; ++mbbi) {
for (MachineBasicBlock::iterator mi = mbbi->begin(), me = mbbi->end();
for (MachineBasicBlock &MBB : MF) {
for (MachineBasicBlock::iterator mi = MBB.begin(), me = MBB.end();
mi != me;) {
MachineInstr &MI = *mi;
// Advance iterator here because MI may be erased.

View File

@ -105,9 +105,9 @@ void LowerIntrinsics::getAnalysisUsage(AnalysisUsage &AU) const {
bool LowerIntrinsics::doInitialization(Module &M) {
GCModuleInfo *MI = getAnalysisIfAvailable<GCModuleInfo>();
assert(MI && "LowerIntrinsics didn't require GCModuleInfo!?");
for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I)
if (!I->isDeclaration() && I->hasGC())
MI->getFunctionInfo(*I); // Instantiate the GC strategy.
for (Function &F : M)
if (!F.isDeclaration() && F.hasGC())
MI->getFunctionInfo(F); // Instantiate the GC strategy.
return false;
}

View File

@ -278,8 +278,7 @@ Error GISelCSEInfo::verify() {
// For every node in the CSEMap, make sure that the InstrMapping
// points to it.
for (auto It = CSEMap.begin(), End = CSEMap.end(); It != End; ++It) {
const UniqueMachineInstr &UMI = *It;
for (const UniqueMachineInstr &UMI : CSEMap) {
if (!InstrMapping.count(UMI.MI))
return createStringError(std::errc::not_supported,
"Node in CSE without InstrMapping", UMI.MI);

View File

@ -232,11 +232,9 @@ bool HardwareLoops::runOnFunction(Function &F) {
AC = &getAnalysis<AssumptionCacheTracker>().getAssumptionCache(F);
M = F.getParent();
for (LoopInfo::iterator I = LI->begin(), E = LI->end(); I != E; ++I) {
Loop *L = *I;
for (Loop *L : *LI)
if (L->isOutermost())
TryConvertLoop(L);
}
return MadeChange;
}