Skip to content

Commit 6a337f8

Browse files
[IR] Use range-based for loops (NFC)
1 parent e8fa901 commit 6a337f8

9 files changed

+41
-51
lines changed

llvm/lib/IR/AsmWriter.cpp

+14-15
Original file line numberDiff line numberDiff line change
@@ -2332,17 +2332,17 @@ static void writeDIExpression(raw_ostream &Out, const DIExpression *N,
23322332
Out << "!DIExpression(";
23332333
FieldSeparator FS;
23342334
if (N->isValid()) {
2335-
for (auto I = N->expr_op_begin(), E = N->expr_op_end(); I != E; ++I) {
2336-
auto OpStr = dwarf::OperationEncodingString(I->getOp());
2335+
for (const DIExpression::ExprOperand &Op : N->expr_ops()) {
2336+
auto OpStr = dwarf::OperationEncodingString(Op.getOp());
23372337
assert(!OpStr.empty() && "Expected valid opcode");
23382338

23392339
Out << FS << OpStr;
2340-
if (I->getOp() == dwarf::DW_OP_LLVM_convert) {
2341-
Out << FS << I->getArg(0);
2342-
Out << FS << dwarf::AttributeEncodingString(I->getArg(1));
2340+
if (Op.getOp() == dwarf::DW_OP_LLVM_convert) {
2341+
Out << FS << Op.getArg(0);
2342+
Out << FS << dwarf::AttributeEncodingString(Op.getArg(1));
23432343
} else {
2344-
for (unsigned A = 0, AE = I->getNumArgs(); A != AE; ++A)
2345-
Out << FS << I->getArg(A);
2344+
for (unsigned A = 0, AE = Op.getNumArgs(); A != AE; ++A)
2345+
Out << FS << Op.getArg(A);
23462346
}
23472347
}
23482348
} else {
@@ -2914,12 +2914,11 @@ void AssemblyWriter::printModuleSummaryIndex() {
29142914
}
29152915

29162916
// Print the TypeIdMap entries.
2917-
for (auto TidIter = TheIndex->typeIds().begin();
2918-
TidIter != TheIndex->typeIds().end(); TidIter++) {
2919-
Out << "^" << Machine.getTypeIdSlot(TidIter->second.first)
2920-
<< " = typeid: (name: \"" << TidIter->second.first << "\"";
2921-
printTypeIdSummary(TidIter->second.second);
2922-
Out << ") ; guid = " << TidIter->first << "\n";
2917+
for (const auto &TID : TheIndex->typeIds()) {
2918+
Out << "^" << Machine.getTypeIdSlot(TID.second.first)
2919+
<< " = typeid: (name: \"" << TID.second.first << "\"";
2920+
printTypeIdSummary(TID.second.second);
2921+
Out << ") ; guid = " << TID.first << "\n";
29232922
}
29242923

29252924
// Print the TypeIdCompatibleVtableMap entries.
@@ -4023,8 +4022,8 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
40234022
} else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(&I)) {
40244023
Out << ' ';
40254024
writeOperand(I.getOperand(0), true);
4026-
for (const unsigned *i = EVI->idx_begin(), *e = EVI->idx_end(); i != e; ++i)
4027-
Out << ", " << *i;
4025+
for (unsigned i : EVI->indices())
4026+
Out << ", " << i;
40284027
} else if (const InsertValueInst *IVI = dyn_cast<InsertValueInst>(&I)) {
40294028
Out << ' ';
40304029
writeOperand(I.getOperand(0), true); Out << ", ";

llvm/lib/IR/Attributes.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -1869,9 +1869,8 @@ bool AttrBuilder::operator==(const AttrBuilder &B) const {
18691869
if (Attrs != B.Attrs)
18701870
return false;
18711871

1872-
for (td_const_iterator I = TargetDepAttrs.begin(),
1873-
E = TargetDepAttrs.end(); I != E; ++I)
1874-
if (B.TargetDepAttrs.find(I->first) == B.TargetDepAttrs.end())
1872+
for (const auto &TDA : TargetDepAttrs)
1873+
if (B.TargetDepAttrs.find(TDA.first) == B.TargetDepAttrs.end())
18751874
return false;
18761875

18771876
return Alignment == B.Alignment && StackAlignment == B.StackAlignment &&

llvm/lib/IR/BasicBlock.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -455,9 +455,8 @@ void BasicBlock::replaceSuccessorsPhiUsesWith(BasicBlock *Old,
455455
// Cope with being called on a BasicBlock that doesn't have a terminator
456456
// yet. Clang's CodeGenFunction::EmitReturnBlock() likes to do this.
457457
return;
458-
llvm::for_each(successors(TI), [Old, New](BasicBlock *Succ) {
458+
for (BasicBlock *Succ : successors(TI))
459459
Succ->replacePhiUsesWith(Old, New);
460-
});
461460
}
462461

463462
void BasicBlock::replaceSuccessorsPhiUsesWith(BasicBlock *New) {

llvm/lib/IR/Core.cpp

+6-9
Original file line numberDiff line numberDiff line change
@@ -679,9 +679,8 @@ unsigned LLVMCountParamTypes(LLVMTypeRef FunctionTy) {
679679

680680
void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest) {
681681
FunctionType *Ty = unwrap<FunctionType>(FunctionTy);
682-
for (FunctionType::param_iterator I = Ty->param_begin(),
683-
E = Ty->param_end(); I != E; ++I)
684-
*Dest++ = wrap(*I);
682+
for (Type *T : Ty->params())
683+
*Dest++ = wrap(T);
685684
}
686685

687686
/*--.. Operations on struct types ..........................................--*/
@@ -723,9 +722,8 @@ unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy) {
723722

724723
void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest) {
725724
StructType *Ty = unwrap<StructType>(StructTy);
726-
for (StructType::element_iterator I = Ty->element_begin(),
727-
E = Ty->element_end(); I != E; ++I)
728-
*Dest++ = wrap(*I);
725+
for (Type *T : Ty->elements())
726+
*Dest++ = wrap(T);
729727
}
730728

731729
LLVMTypeRef LLVMStructGetTypeAtIndex(LLVMTypeRef StructTy, unsigned i) {
@@ -2495,9 +2493,8 @@ unsigned LLVMCountParams(LLVMValueRef FnRef) {
24952493

24962494
void LLVMGetParams(LLVMValueRef FnRef, LLVMValueRef *ParamRefs) {
24972495
Function *Fn = unwrap<Function>(FnRef);
2498-
for (Function::arg_iterator I = Fn->arg_begin(),
2499-
E = Fn->arg_end(); I != E; I++)
2500-
*ParamRefs++ = wrap(&*I);
2496+
for (Argument &A : Fn->args())
2497+
*ParamRefs++ = wrap(&A);
25012498
}
25022499

25032500
LLVMValueRef LLVMGetParam(LLVMValueRef FnRef, unsigned index) {

llvm/lib/IR/DebugInfoMetadata.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ DILocation *DILocation::getMergedLocations(ArrayRef<const DILocation *> Locs) {
8282
if (Locs.size() == 1)
8383
return Locs[0];
8484
auto *Merged = Locs[0];
85-
for (auto I = std::next(Locs.begin()), E = Locs.end(); I != E; ++I) {
86-
Merged = getMergedLocation(Merged, *I);
85+
for (const DILocation *L : llvm::drop_begin(Locs)) {
86+
Merged = getMergedLocation(Merged, L);
8787
if (Merged == nullptr)
8888
break;
8989
}

llvm/lib/IR/Dominators.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,7 @@ bool DominatorTree::dominates(const BasicBlockEdge &BBE,
222222
// other predecessors. Since the only way out of X is via NormalDest, X can
223223
// only properly dominate a node if NormalDest dominates that node too.
224224
int IsDuplicateEdge = 0;
225-
for (const_pred_iterator PI = pred_begin(End), E = pred_end(End);
226-
PI != E; ++PI) {
227-
const BasicBlock *BB = *PI;
225+
for (const BasicBlock *BB : predecessors(End)) {
228226
if (BB == Start) {
229227
// If there are multiple edges between Start and End, by definition they
230228
// can't dominate anything.

llvm/lib/IR/Instructions.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -2105,13 +2105,13 @@ static bool isSingleSourceMaskImpl(ArrayRef<int> Mask, int NumOpElts) {
21052105
assert(!Mask.empty() && "Shuffle mask must contain elements");
21062106
bool UsesLHS = false;
21072107
bool UsesRHS = false;
2108-
for (int i = 0, NumMaskElts = Mask.size(); i < NumMaskElts; ++i) {
2109-
if (Mask[i] == -1)
2108+
for (int I : Mask) {
2109+
if (I == -1)
21102110
continue;
2111-
assert(Mask[i] >= 0 && Mask[i] < (NumOpElts * 2) &&
2111+
assert(I >= 0 && I < (NumOpElts * 2) &&
21122112
"Out-of-bounds shuffle mask element");
2113-
UsesLHS |= (Mask[i] < NumOpElts);
2114-
UsesRHS |= (Mask[i] >= NumOpElts);
2113+
UsesLHS |= (I < NumOpElts);
2114+
UsesRHS |= (I >= NumOpElts);
21152115
if (UsesLHS && UsesRHS)
21162116
return false;
21172117
}

llvm/lib/IR/LegacyPassManager.cpp

+6-7
Original file line numberDiff line numberDiff line change
@@ -948,14 +948,13 @@ void PMDataManager::removeNotPreservedAnalysis(Pass *P) {
948948

949949
// Check inherited analysis also. If P is not preserving analysis
950950
// provided by parent manager then remove it here.
951-
for (unsigned Index = 0; Index < PMT_Last; ++Index) {
952-
953-
if (!InheritedAnalysis[Index])
951+
for (DenseMap<AnalysisID, Pass *> *IA : InheritedAnalysis) {
952+
if (!IA)
954953
continue;
955954

956-
for (DenseMap<AnalysisID, Pass*>::iterator
957-
I = InheritedAnalysis[Index]->begin(),
958-
E = InheritedAnalysis[Index]->end(); I != E; ) {
955+
for (DenseMap<AnalysisID, Pass *>::iterator I = IA->begin(),
956+
E = IA->end();
957+
I != E;) {
959958
DenseMap<AnalysisID, Pass *>::iterator Info = I++;
960959
if (Info->second->getAsImmutablePass() == nullptr &&
961960
!is_contained(PreservedSet, Info->first)) {
@@ -965,7 +964,7 @@ void PMDataManager::removeNotPreservedAnalysis(Pass *P) {
965964
dbgs() << " -- '" << P->getPassName() << "' is not preserving '";
966965
dbgs() << S->getPassName() << "'\n";
967966
}
968-
InheritedAnalysis[Index]->erase(Info);
967+
IA->erase(Info);
969968
}
970969
}
971970
}

llvm/lib/IR/Mangler.cpp

+4-5
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,11 @@ static void addByteCountSuffix(raw_ostream &OS, const Function *F,
9898

9999
const unsigned PtrSize = DL.getPointerSize();
100100

101-
for (Function::const_arg_iterator AI = F->arg_begin(), AE = F->arg_end();
102-
AI != AE; ++AI) {
101+
for (const Argument &A : F->args()) {
103102
// 'Dereference' type in case of byval or inalloca parameter attribute.
104-
uint64_t AllocSize = AI->hasPassPointeeByValueCopyAttr() ?
105-
AI->getPassPointeeByValueCopySize(DL) :
106-
DL.getTypeAllocSize(AI->getType());
103+
uint64_t AllocSize = A.hasPassPointeeByValueCopyAttr() ?
104+
A.getPassPointeeByValueCopySize(DL) :
105+
DL.getTypeAllocSize(A.getType());
107106

108107
// Size should be aligned to pointer size.
109108
ArgWords += alignTo(AllocSize, PtrSize);

0 commit comments

Comments
 (0)