[llvm] b18ff9c - [Transform] Use range-based for loops (NFC)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 27 23:54:49 PDT 2022
Author: Kazu Hirata
Date: 2022-08-27T23:54:32-07:00
New Revision: b18ff9c46112c1a1ae101e70378a8e2ba6ccc8ff
URL: https://github.com/llvm/llvm-project/commit/b18ff9c46112c1a1ae101e70378a8e2ba6ccc8ff
DIFF: https://github.com/llvm/llvm-project/commit/b18ff9c46112c1a1ae101e70378a8e2ba6ccc8ff.diff
LOG: [Transform] Use range-based for loops (NFC)
Added:
Modified:
llvm/lib/Transforms/IPO/LowerTypeTests.cpp
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/lib/Transforms/IPO/StripSymbols.cpp
llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
llvm/lib/Transforms/ObjCARC/ObjCARC.h
llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
llvm/lib/Transforms/Scalar/Reassociate.cpp
llvm/lib/Transforms/Scalar/SCCP.cpp
llvm/lib/Transforms/Utils/CodeExtractor.cpp
llvm/lib/Transforms/Utils/Evaluator.cpp
llvm/lib/Transforms/Utils/FlattenCFG.cpp
llvm/lib/Transforms/Utils/LoopSimplify.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
index f722f1364667c..2fb5ee891b83d 100644
--- a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+++ b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
@@ -1369,9 +1369,9 @@ void LowerTypeTestsModule::createJumpTable(
Triple::ArchType JumpTableArch = selectJumpTableArmEncoding(Functions, Arch);
- for (unsigned I = 0; I != Functions.size(); ++I)
+ for (GlobalTypeMember *GTM : Functions)
createJumpTableEntry(AsmOS, ConstraintOS, JumpTableArch, AsmArgs,
- cast<Function>(Functions[I]->getGlobal()));
+ cast<Function>(GTM->getGlobal()));
// Align the whole table by entry size.
F->setAlignment(Align(getJumpTableEntrySize()));
diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
index f1b6f2bb7de4f..2718a7e0bb4d0 100644
--- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -246,9 +246,9 @@ void PassManagerBuilder::addExtensionsToPM(ExtensionPointTy ETy,
std::get<1>(Ext)(*this, PM);
}
}
- for (unsigned i = 0, e = Extensions.size(); i != e; ++i)
- if (Extensions[i].first == ETy)
- Extensions[i].second(*this, PM);
+ for (const auto &[PT, Fn] : Extensions)
+ if (PT == ETy)
+ Fn(*this, PM);
}
void PassManagerBuilder::addInitialAliasAnalysisPasses(
diff --git a/llvm/lib/Transforms/IPO/StripSymbols.cpp b/llvm/lib/Transforms/IPO/StripSymbols.cpp
index 9d4e9464f3617..c05829faf7862 100644
--- a/llvm/lib/Transforms/IPO/StripSymbols.cpp
+++ b/llvm/lib/Transforms/IPO/StripSymbols.cpp
@@ -181,8 +181,7 @@ static void StripTypeNames(Module &M, bool PreserveDbgInfo) {
TypeFinder StructTypes;
StructTypes.run(M, false);
- for (unsigned i = 0, e = StructTypes.size(); i != e; ++i) {
- StructType *STy = StructTypes[i];
+ for (StructType *STy : StructTypes) {
if (STy->isLiteral() || STy->getName().empty()) continue;
if (PreserveDbgInfo && STy->getName().startswith("llvm.dbg"))
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
index 64f539ade0ff4..ec50c37b84335 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
@@ -3197,8 +3197,7 @@ Instruction *InstCombinerImpl::visitCallBase(CallBase &Call) {
// We can reduce the size of gc live bundle.
DenseMap<Value *, unsigned> Val2Idx;
std::vector<Value *> NewLiveGc;
- for (unsigned I = 0, E = Bundle->Inputs.size(); I < E; ++I) {
- Value *V = Bundle->Inputs[I];
+ for (Value *V : Bundle->Inputs) {
if (Val2Idx.count(V))
continue;
if (LiveGcValues.count(V)) {
diff --git a/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp b/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
index abe928f21ce09..3497654bcc306 100644
--- a/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
+++ b/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
@@ -1758,8 +1758,8 @@ void CHR::cloneScopeBlocks(CHRScope *Scope,
NewBlocks[0]->getIterator(), F.end());
// Update the cloned blocks/instructions to refer to themselves.
- for (unsigned i = 0, e = NewBlocks.size(); i != e; ++i)
- for (Instruction &I : *NewBlocks[i])
+ for (BasicBlock *NewBB : NewBlocks)
+ for (Instruction &I : *NewBB)
RemapInstruction(&I, VMap,
RF_NoModuleLevelChanges | RF_IgnoreMissingLocals);
diff --git a/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
index ad5de17107eb1..85dcca2d47dba 100644
--- a/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
+++ b/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
@@ -251,8 +251,8 @@ namespace {
void writeOut() {
write(0);
writeString(Filename);
- for (int i = 0, e = Lines.size(); i != e; ++i)
- write(Lines[i]);
+ for (uint32_t L : Lines)
+ write(L);
}
GCOVLines(GCOVProfiler *P, StringRef F)
diff --git a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
index 5156a8a9c56e6..dfe099cb870a1 100644
--- a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+++ b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
@@ -3702,10 +3702,7 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
unsigned ArgOffset = 0;
LLVM_DEBUG(dbgs() << " CallSite: " << CB << "\n");
- for (auto ArgIt = CB.arg_begin(), End = CB.arg_end(); ArgIt != End;
- ++ArgIt) {
- Value *A = *ArgIt;
- unsigned i = ArgIt - CB.arg_begin();
+ for (const auto &[i, A] : llvm::enumerate(CB.args())) {
if (!A->getType()->isSized()) {
LLVM_DEBUG(dbgs() << "Arg " << i << " is not sized: " << CB << "\n");
continue;
@@ -4270,10 +4267,7 @@ struct VarArgAMD64Helper : public VarArgHelper {
unsigned FpOffset = AMD64GpEndOffset;
unsigned OverflowOffset = AMD64FpEndOffset;
const DataLayout &DL = F.getParent()->getDataLayout();
- for (auto ArgIt = CB.arg_begin(), End = CB.arg_end(); ArgIt != End;
- ++ArgIt) {
- Value *A = *ArgIt;
- unsigned ArgNo = CB.getArgOperandNo(ArgIt);
+ for (const auto &[ArgNo, A] : llvm::enumerate(CB.args())) {
bool IsFixed = ArgNo < CB.getFunctionType()->getNumParams();
bool IsByVal = CB.paramHasAttr(ArgNo, Attribute::ByVal);
if (IsByVal) {
@@ -4648,10 +4642,7 @@ struct VarArgAArch64Helper : public VarArgHelper {
unsigned OverflowOffset = AArch64VAEndOffset;
const DataLayout &DL = F.getParent()->getDataLayout();
- for (auto ArgIt = CB.arg_begin(), End = CB.arg_end(); ArgIt != End;
- ++ArgIt) {
- Value *A = *ArgIt;
- unsigned ArgNo = CB.getArgOperandNo(ArgIt);
+ for (const auto &[ArgNo, A] : llvm::enumerate(CB.args())) {
bool IsFixed = ArgNo < CB.getFunctionType()->getNumParams();
ArgKind AK = classifyArgument(A);
if (AK == AK_GeneralPurpose && GrOffset >= AArch64GrEndOffset)
@@ -4886,10 +4877,7 @@ struct VarArgPowerPC64Helper : public VarArgHelper {
VAArgBase = 32;
unsigned VAArgOffset = VAArgBase;
const DataLayout &DL = F.getParent()->getDataLayout();
- for (auto ArgIt = CB.arg_begin(), End = CB.arg_end(); ArgIt != End;
- ++ArgIt) {
- Value *A = *ArgIt;
- unsigned ArgNo = CB.getArgOperandNo(ArgIt);
+ for (const auto &[ArgNo, A] : llvm::enumerate(CB.args())) {
bool IsFixed = ArgNo < CB.getFunctionType()->getNumParams();
bool IsByVal = CB.paramHasAttr(ArgNo, Attribute::ByVal);
if (IsByVal) {
@@ -5114,10 +5102,7 @@ struct VarArgSystemZHelper : public VarArgHelper {
unsigned VrIndex = 0;
unsigned OverflowOffset = SystemZOverflowOffset;
const DataLayout &DL = F.getParent()->getDataLayout();
- for (auto ArgIt = CB.arg_begin(), End = CB.arg_end(); ArgIt != End;
- ++ArgIt) {
- Value *A = *ArgIt;
- unsigned ArgNo = CB.getArgOperandNo(ArgIt);
+ for (const auto &[ArgNo, A] : llvm::enumerate(CB.args())) {
bool IsFixed = ArgNo < CB.getFunctionType()->getNumParams();
// SystemZABIInfo does not produce ByVal parameters.
assert(!CB.paramHasAttr(ArgNo, Attribute::ByVal));
diff --git a/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp b/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
index 0e39fe2663692..e26c3b15e4c7b 100644
--- a/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
+++ b/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
@@ -89,9 +89,9 @@ static Value *buildOrChain(IRBuilder<> &B, ArrayRef<Value*> Ops) {
if (i == Ops.size())
return B.getFalse();
Value *Accum = Ops[i++];
- for (; i < Ops.size(); i++)
- if (!isConstantFalse(Ops[i]))
- Accum = B.CreateOr(Accum, Ops[i]);
+ for (Value *Op : llvm::drop_begin(Ops, i))
+ if (!isConstantFalse(Op))
+ Accum = B.CreateOr(Accum, Op);
return Accum;
}
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARC.h b/llvm/lib/Transforms/ObjCARC/ObjCARC.h
index 2bc0c8f87d77c..d4570ff908f16 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARC.h
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARC.h
@@ -132,8 +132,8 @@ class BundledRetainClaimRVs {
auto It = RVCalls.find(CI);
if (It != RVCalls.end()) {
// Remove call to @llvm.objc.clang.arc.noop.use.
- for (auto U = It->second->user_begin(), E = It->second->user_end(); U != E; ++U)
- if (auto *CI = dyn_cast<CallInst>(*U))
+ for (User *U : It->second->users())
+ if (auto *CI = dyn_cast<CallInst>(U))
if (CI->getIntrinsicID() == Intrinsic::objc_clang_arc_noop_use) {
CI->eraseFromParent();
break;
diff --git a/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp b/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
index 310188de280a8..6665a927826d0 100644
--- a/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
+++ b/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
@@ -364,9 +364,9 @@ static void splitCallSite(CallBase &CB,
// attempting removal.
SmallVector<BasicBlock *, 2> Splits(predecessors((TailBB)));
assert(Splits.size() == 2 && "Expected exactly 2 splits!");
- for (unsigned i = 0; i < Splits.size(); i++) {
- Splits[i]->getTerminator()->eraseFromParent();
- DTU.applyUpdatesPermissive({{DominatorTree::Delete, Splits[i], TailBB}});
+ for (BasicBlock *BB : Splits) {
+ BB->getTerminator()->eraseFromParent();
+ DTU.applyUpdatesPermissive({{DominatorTree::Delete, BB, TailBB}});
}
// Erase the tail block once done with musttail patching
diff --git a/llvm/lib/Transforms/Scalar/Reassociate.cpp b/llvm/lib/Transforms/Scalar/Reassociate.cpp
index b467bc2244c5c..87546a7496ecd 100644
--- a/llvm/lib/Transforms/Scalar/Reassociate.cpp
+++ b/llvm/lib/Transforms/Scalar/Reassociate.cpp
@@ -1898,10 +1898,10 @@ ReassociatePass::buildMinimalMultiplyDAG(IRBuilderBase &Builder,
// Iteratively collect the base of each factor with an add power into the
// outer product, and halve each power in preparation for squaring the
// expression.
- for (unsigned Idx = 0, Size = Factors.size(); Idx != Size; ++Idx) {
- if (Factors[Idx].Power & 1)
- OuterProduct.push_back(Factors[Idx].Base);
- Factors[Idx].Power >>= 1;
+ for (Factor &F : Factors) {
+ if (F.Power & 1)
+ OuterProduct.push_back(F.Base);
+ F.Power >>= 1;
}
if (Factors[0].Power) {
Value *SquareRoot = buildMinimalMultiplyDAG(Builder, Factors);
diff --git a/llvm/lib/Transforms/Scalar/SCCP.cpp b/llvm/lib/Transforms/Scalar/SCCP.cpp
index 0eb970e2b6a27..45e3edf8b52f4 100644
--- a/llvm/lib/Transforms/Scalar/SCCP.cpp
+++ b/llvm/lib/Transforms/Scalar/SCCP.cpp
@@ -681,9 +681,9 @@ bool llvm::runIPSCCP(
// Zap all returns which we've identified as zap to change.
SmallSetVector<Function *, 8> FuncZappedReturn;
- for (unsigned i = 0, e = ReturnsToZap.size(); i != e; ++i) {
- Function *F = ReturnsToZap[i]->getParent()->getParent();
- ReturnsToZap[i]->setOperand(0, UndefValue::get(F->getReturnType()));
+ for (ReturnInst *RI : ReturnsToZap) {
+ Function *F = RI->getParent()->getParent();
+ RI->setOperand(0, UndefValue::get(F->getReturnType()));
// Record all functions that are zapped.
FuncZappedReturn.insert(F);
}
diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
index 2da56e96c1187..db885203df11e 100644
--- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp
+++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
@@ -1259,8 +1259,8 @@ CallInst *CodeExtractor::emitCallAndSwitchStatement(Function *newFunction,
codeReplacer);
Reloads.push_back(load);
std::vector<User *> Users(outputs[i]->user_begin(), outputs[i]->user_end());
- for (unsigned u = 0, e = Users.size(); u != e; ++u) {
- Instruction *inst = cast<Instruction>(Users[u]);
+ for (User *U : Users) {
+ Instruction *inst = cast<Instruction>(U);
if (!Blocks.count(inst->getParent()))
inst->replaceUsesOfWith(outputs[i], load);
}
diff --git a/llvm/lib/Transforms/Utils/Evaluator.cpp b/llvm/lib/Transforms/Utils/Evaluator.cpp
index 7509fde6df9d6..65d065af99b69 100644
--- a/llvm/lib/Transforms/Utils/Evaluator.cpp
+++ b/llvm/lib/Transforms/Utils/Evaluator.cpp
@@ -626,10 +626,8 @@ bool Evaluator::EvaluateFunction(Function *F, Constant *&RetVal,
CallStack.push_back(F);
// Initialize arguments to the incoming values specified.
- unsigned ArgNo = 0;
- for (Function::arg_iterator AI = F->arg_begin(), E = F->arg_end(); AI != E;
- ++AI, ++ArgNo)
- setVal(&*AI, ActualArgs[ArgNo]);
+ for (const auto &[ArgNo, Arg] : llvm::enumerate(F->args()))
+ setVal(&Arg, ActualArgs[ArgNo]);
// ExecutedBlocks - We only handle non-looping, non-recursive code. As such,
// we can only evaluate any one basic block at most once. This set keeps
diff --git a/llvm/lib/Transforms/Utils/FlattenCFG.cpp b/llvm/lib/Transforms/Utils/FlattenCFG.cpp
index 89823ed1c831a..9d60f8bad0f14 100644
--- a/llvm/lib/Transforms/Utils/FlattenCFG.cpp
+++ b/llvm/lib/Transforms/Utils/FlattenCFG.cpp
@@ -145,9 +145,7 @@ bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder) {
// Check predecessors of \param BB.
SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB));
- for (SmallPtrSetIterator<BasicBlock *> PI = Preds.begin(), PE = Preds.end();
- PI != PE; ++PI) {
- BasicBlock *Pred = *PI;
+ for (BasicBlock *Pred : Preds) {
BranchInst *PBI = dyn_cast<BranchInst>(Pred->getTerminator());
// All predecessors should terminate with a branch.
diff --git a/llvm/lib/Transforms/Utils/LoopSimplify.cpp b/llvm/lib/Transforms/Utils/LoopSimplify.cpp
index 4425acd16610b..363f3c523ff75 100644
--- a/llvm/lib/Transforms/Utils/LoopSimplify.cpp
+++ b/llvm/lib/Transforms/Utils/LoopSimplify.cpp
@@ -450,8 +450,8 @@ static BasicBlock *insertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader,
// it from the backedge and add it to BEBlock.
unsigned LoopMDKind = BEBlock->getContext().getMDKindID("llvm.loop");
MDNode *LoopMD = nullptr;
- for (unsigned i = 0, e = BackedgeBlocks.size(); i != e; ++i) {
- Instruction *TI = BackedgeBlocks[i]->getTerminator();
+ for (BasicBlock *BB : BackedgeBlocks) {
+ Instruction *TI = BB->getTerminator();
if (!LoopMD)
LoopMD = TI->getMetadata(LoopMDKind);
TI->setMetadata(LoopMDKind, nullptr);
More information about the llvm-commits
mailing list