Subzero: Use range-based for loops with llvm::ilist<Inst> lists. This reestablishes C++11 features lost after switching to llvm::ilist<> in two previous CLs: https://codereview.chromium.org/709533002/ https://codereview.chromium.org/794923002/ BUG= none R=jfb@chromium.org, jvoung@chromium.org Review URL: https://codereview.chromium.org/819403002
diff --git a/src/IceRegAlloc.cpp b/src/IceRegAlloc.cpp index d2bc8fb..d65b3b6 100644 --- a/src/IceRegAlloc.cpp +++ b/src/IceRegAlloc.cpp
@@ -109,11 +109,10 @@ // Build the (ordered) list of FakeKill instruction numbers. Kills.clear(); for (CfgNode *Node : Func->getNodes()) { - for (auto I = Node->getInsts().begin(), E = Node->getInsts().end(); I != E; - ++I) { - if (auto Kill = llvm::dyn_cast<InstFakeKill>(I)) { + for (Inst &I : Node->getInsts()) { + if (auto Kill = llvm::dyn_cast<InstFakeKill>(&I)) { if (!Kill->isDeleted() && !Kill->getLinked()->isDeleted()) - Kills.push_back(I->getNumber()); + Kills.push_back(I.getNumber()); } } } @@ -160,25 +159,24 @@ std::vector<InstNumberT> LRBegin(Vars.size(), Inst::NumberSentinel); std::vector<InstNumberT> LREnd(Vars.size(), Inst::NumberSentinel); for (CfgNode *Node : Func->getNodes()) { - for (auto Inst = Node->getInsts().begin(), E = Node->getInsts().end(); - Inst != E; ++Inst) { - if (Inst->isDeleted()) + for (Inst &Inst : Node->getInsts()) { + if (Inst.isDeleted()) continue; - if (const Variable *Var = Inst->getDest()) { + if (const Variable *Var = Inst.getDest()) { if (Var->hasReg() || Var->getWeight() == RegWeight::Inf) { if (LRBegin[Var->getIndex()] == Inst::NumberSentinel) { - LRBegin[Var->getIndex()] = Inst->getNumber(); + LRBegin[Var->getIndex()] = Inst.getNumber(); ++NumVars; } } } - for (SizeT I = 0; I < Inst->getSrcSize(); ++I) { - Operand *Src = Inst->getSrc(I); + for (SizeT I = 0; I < Inst.getSrcSize(); ++I) { + Operand *Src = Inst.getSrc(I); SizeT NumVars = Src->getNumVars(); for (SizeT J = 0; J < NumVars; ++J) { const Variable *Var = Src->getVar(J); if (Var->hasReg() || Var->getWeight() == RegWeight::Inf) - LREnd[Var->getIndex()] = Inst->getNumber(); + LREnd[Var->getIndex()] = Inst.getNumber(); } } }