Skip to content

Commit ae372bf

Browse files
[CodeGen] Use range-based for loops (NFC) (#145142)
1 parent e6ebf8f commit ae372bf

File tree

8 files changed

+63
-83
lines changed

8 files changed

+63
-83
lines changed

clang/include/clang/CodeGen/CGFunctionInfo.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -828,10 +828,8 @@ class CGFunctionInfo final
828828
ID.AddInteger(paramInfo.getOpaqueValue());
829829
}
830830
resultType.Profile(ID);
831-
for (ArrayRef<CanQualType>::iterator
832-
i = argTypes.begin(), e = argTypes.end(); i != e; ++i) {
833-
i->Profile(ID);
834-
}
831+
for (const CanQualType &argType : argTypes)
832+
argType.Profile(ID);
835833
}
836834
};
837835

clang/lib/CodeGen/CGOpenMPRuntime.cpp

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4168,8 +4168,7 @@ void CGOpenMPRuntime::emitDepobjElements(CodeGenFunction &CGF,
41684168
CGF, cast_or_null<OMPIteratorExpr>(
41694169
Data.IteratorExpr ? Data.IteratorExpr->IgnoreParenImpCasts()
41704170
: nullptr));
4171-
for (unsigned I = 0, End = Data.DepExprs.size(); I < End; ++I) {
4172-
const Expr *E = Data.DepExprs[I];
4171+
for (const Expr *E : Data.DepExprs) {
41734172
llvm::Value *NumDeps;
41744173
LValue Base;
41754174
LValue DepobjLVal = CGF.EmitLValue(E->IgnoreParenImpCasts());
@@ -4289,31 +4288,26 @@ std::pair<llvm::Value *, Address> CGOpenMPRuntime::emitDependClause(
42894288
/*isSigned=*/false);
42904289
}
42914290
unsigned Pos = 0;
4292-
for (unsigned I = 0, End = Dependencies.size(); I < End; ++I) {
4293-
if (Dependencies[I].DepKind == OMPC_DEPEND_depobj ||
4294-
Dependencies[I].IteratorExpr)
4291+
for (const OMPTaskDataTy::DependData &Dep : Dependencies) {
4292+
if (Dep.DepKind == OMPC_DEPEND_depobj || Dep.IteratorExpr)
42954293
continue;
4296-
emitDependData(CGF, KmpDependInfoTy, &Pos, Dependencies[I],
4297-
DependenciesArray);
4294+
emitDependData(CGF, KmpDependInfoTy, &Pos, Dep, DependenciesArray);
42984295
}
42994296
// Copy regular dependencies with iterators.
43004297
LValue PosLVal = CGF.MakeAddrLValue(
43014298
CGF.CreateMemTemp(C.getSizeType(), "dep.counter.addr"), C.getSizeType());
43024299
CGF.EmitStoreOfScalar(llvm::ConstantInt::get(CGF.SizeTy, Pos), PosLVal);
4303-
for (unsigned I = 0, End = Dependencies.size(); I < End; ++I) {
4304-
if (Dependencies[I].DepKind == OMPC_DEPEND_depobj ||
4305-
!Dependencies[I].IteratorExpr)
4300+
for (const OMPTaskDataTy::DependData &Dep : Dependencies) {
4301+
if (Dep.DepKind == OMPC_DEPEND_depobj || !Dep.IteratorExpr)
43064302
continue;
4307-
emitDependData(CGF, KmpDependInfoTy, &PosLVal, Dependencies[I],
4308-
DependenciesArray);
4303+
emitDependData(CGF, KmpDependInfoTy, &PosLVal, Dep, DependenciesArray);
43094304
}
43104305
// Copy final depobj arrays without iterators.
43114306
if (HasDepobjDeps) {
4312-
for (unsigned I = 0, End = Dependencies.size(); I < End; ++I) {
4313-
if (Dependencies[I].DepKind != OMPC_DEPEND_depobj)
4307+
for (const OMPTaskDataTy::DependData &Dep : Dependencies) {
4308+
if (Dep.DepKind != OMPC_DEPEND_depobj)
43144309
continue;
4315-
emitDepobjElements(CGF, KmpDependInfoTy, PosLVal, Dependencies[I],
4316-
DependenciesArray);
4310+
emitDepobjElements(CGF, KmpDependInfoTy, PosLVal, Dep, DependenciesArray);
43174311
}
43184312
}
43194313
DependenciesArray = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(

clang/lib/CodeGen/CGRecordLayoutBuilder.cpp

Lines changed: 32 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -972,18 +972,16 @@ void CGRecordLowering::determinePacked(bool NVBaseType) {
972972
CharUnits NVAlignment = CharUnits::One();
973973
CharUnits NVSize =
974974
!NVBaseType && RD ? Layout.getNonVirtualSize() : CharUnits::Zero();
975-
for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
976-
MemberEnd = Members.end();
977-
Member != MemberEnd; ++Member) {
978-
if (!Member->Data)
975+
for (const MemberInfo &Member : Members) {
976+
if (!Member.Data)
979977
continue;
980978
// If any member falls at an offset that it not a multiple of its alignment,
981979
// then the entire record must be packed.
982-
if (Member->Offset % getAlignment(Member->Data))
980+
if (Member.Offset % getAlignment(Member.Data))
983981
Packed = true;
984-
if (Member->Offset < NVSize)
985-
NVAlignment = std::max(NVAlignment, getAlignment(Member->Data));
986-
Alignment = std::max(Alignment, getAlignment(Member->Data));
982+
if (Member.Offset < NVSize)
983+
NVAlignment = std::max(NVAlignment, getAlignment(Member.Data));
984+
Alignment = std::max(Alignment, getAlignment(Member.Data));
987985
}
988986
// If the size of the record (the capstone's offset) is not a multiple of the
989987
// record's alignment, it must be packed.
@@ -1002,45 +1000,39 @@ void CGRecordLowering::determinePacked(bool NVBaseType) {
10021000
void CGRecordLowering::insertPadding() {
10031001
std::vector<std::pair<CharUnits, CharUnits> > Padding;
10041002
CharUnits Size = CharUnits::Zero();
1005-
for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
1006-
MemberEnd = Members.end();
1007-
Member != MemberEnd; ++Member) {
1008-
if (!Member->Data)
1003+
for (const MemberInfo &Member : Members) {
1004+
if (!Member.Data)
10091005
continue;
1010-
CharUnits Offset = Member->Offset;
1006+
CharUnits Offset = Member.Offset;
10111007
assert(Offset >= Size);
10121008
// Insert padding if we need to.
10131009
if (Offset !=
1014-
Size.alignTo(Packed ? CharUnits::One() : getAlignment(Member->Data)))
1010+
Size.alignTo(Packed ? CharUnits::One() : getAlignment(Member.Data)))
10151011
Padding.push_back(std::make_pair(Size, Offset - Size));
1016-
Size = Offset + getSize(Member->Data);
1012+
Size = Offset + getSize(Member.Data);
10171013
}
10181014
if (Padding.empty())
10191015
return;
10201016
// Add the padding to the Members list and sort it.
1021-
for (std::vector<std::pair<CharUnits, CharUnits> >::const_iterator
1022-
Pad = Padding.begin(), PadEnd = Padding.end();
1023-
Pad != PadEnd; ++Pad)
1024-
Members.push_back(StorageInfo(Pad->first, getByteArrayType(Pad->second)));
1017+
for (const auto &Pad : Padding)
1018+
Members.push_back(StorageInfo(Pad.first, getByteArrayType(Pad.second)));
10251019
llvm::stable_sort(Members);
10261020
}
10271021

10281022
void CGRecordLowering::fillOutputFields() {
1029-
for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
1030-
MemberEnd = Members.end();
1031-
Member != MemberEnd; ++Member) {
1032-
if (Member->Data)
1033-
FieldTypes.push_back(Member->Data);
1034-
if (Member->Kind == MemberInfo::Field) {
1035-
if (Member->FD)
1036-
Fields[Member->FD->getCanonicalDecl()] = FieldTypes.size() - 1;
1023+
for (const MemberInfo &Member : Members) {
1024+
if (Member.Data)
1025+
FieldTypes.push_back(Member.Data);
1026+
if (Member.Kind == MemberInfo::Field) {
1027+
if (Member.FD)
1028+
Fields[Member.FD->getCanonicalDecl()] = FieldTypes.size() - 1;
10371029
// A field without storage must be a bitfield.
1038-
if (!Member->Data)
1039-
setBitFieldInfo(Member->FD, Member->Offset, FieldTypes.back());
1040-
} else if (Member->Kind == MemberInfo::Base)
1041-
NonVirtualBases[Member->RD] = FieldTypes.size() - 1;
1042-
else if (Member->Kind == MemberInfo::VBase)
1043-
VirtualBases[Member->RD] = FieldTypes.size() - 1;
1030+
if (!Member.Data)
1031+
setBitFieldInfo(Member.FD, Member.Offset, FieldTypes.back());
1032+
} else if (Member.Kind == MemberInfo::Base)
1033+
NonVirtualBases[Member.RD] = FieldTypes.size() - 1;
1034+
else if (Member.Kind == MemberInfo::VBase)
1035+
VirtualBases[Member.RD] = FieldTypes.size() - 1;
10441036
}
10451037
}
10461038

@@ -1224,20 +1216,18 @@ void CGRecordLayout::print(raw_ostream &OS) const {
12241216

12251217
// Print bit-field infos in declaration order.
12261218
std::vector<std::pair<unsigned, const CGBitFieldInfo*> > BFIs;
1227-
for (llvm::DenseMap<const FieldDecl*, CGBitFieldInfo>::const_iterator
1228-
it = BitFields.begin(), ie = BitFields.end();
1229-
it != ie; ++it) {
1230-
const RecordDecl *RD = it->first->getParent();
1219+
for (const auto &BitField : BitFields) {
1220+
const RecordDecl *RD = BitField.first->getParent();
12311221
unsigned Index = 0;
1232-
for (RecordDecl::field_iterator
1233-
it2 = RD->field_begin(); *it2 != it->first; ++it2)
1222+
for (RecordDecl::field_iterator it2 = RD->field_begin();
1223+
*it2 != BitField.first; ++it2)
12341224
++Index;
1235-
BFIs.push_back(std::make_pair(Index, &it->second));
1225+
BFIs.push_back(std::make_pair(Index, &BitField.second));
12361226
}
12371227
llvm::array_pod_sort(BFIs.begin(), BFIs.end());
1238-
for (unsigned i = 0, e = BFIs.size(); i != e; ++i) {
1228+
for (auto &BFI : BFIs) {
12391229
OS.indent(4);
1240-
BFIs[i].second->print(OS);
1230+
BFI.second->print(OS);
12411231
OS << "\n";
12421232
}
12431233

clang/lib/CodeGen/CGStmt.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -757,10 +757,9 @@ void CodeGenFunction::LexicalScope::rescopeLabels() {
757757
= CGF.EHStack.getInnermostNormalCleanup();
758758

759759
// Change the scope depth of all the labels.
760-
for (SmallVectorImpl<const LabelDecl*>::const_iterator
761-
i = Labels.begin(), e = Labels.end(); i != e; ++i) {
762-
assert(CGF.LabelMap.count(*i));
763-
JumpDest &dest = CGF.LabelMap.find(*i)->second;
760+
for (const LabelDecl *Label : Labels) {
761+
assert(CGF.LabelMap.count(Label));
762+
JumpDest &dest = CGF.LabelMap.find(Label)->second;
764763
assert(dest.getScopeDepth().isValid());
765764
assert(innermostScope.encloses(dest.getScopeDepth()));
766765
dest.setScopeDepth(innermostScope);
@@ -2302,8 +2301,8 @@ void CodeGenFunction::EmitSwitchStmt(const SwitchStmt &S) {
23022301

23032302
// Okay, we can dead code eliminate everything except this case. Emit the
23042303
// specified series of statements and we're good.
2305-
for (unsigned i = 0, e = CaseStmts.size(); i != e; ++i)
2306-
EmitStmt(CaseStmts[i]);
2304+
for (const Stmt *CaseStmt : CaseStmts)
2305+
EmitStmt(CaseStmt);
23072306
incrementProfileCounter(&S);
23082307
PGO->markStmtMaybeUsed(S.getBody());
23092308

clang/lib/CodeGen/MicrosoftCXXABI.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1836,9 +1836,9 @@ llvm::GlobalVariable *MicrosoftCXXABI::getAddrOfVTable(const CXXRecordDecl *RD,
18361836
// Create all the vftables at once in order to make sure each vftable has
18371837
// a unique mangled name.
18381838
llvm::StringSet<> ObservedMangledNames;
1839-
for (size_t J = 0, F = VFPtrs.size(); J != F; ++J) {
1839+
for (const auto &VFPtr : VFPtrs) {
18401840
SmallString<256> Name;
1841-
mangleVFTableName(getMangleContext(), RD, *VFPtrs[J], Name);
1841+
mangleVFTableName(getMangleContext(), RD, *VFPtr, Name);
18421842
if (!ObservedMangledNames.insert(Name.str()).second)
18431843
llvm_unreachable("Already saw this mangling before?");
18441844
}

clang/lib/CodeGen/ModuleBuilder.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ namespace {
186186
HandlingTopLevelDeclRAII HandlingDecl(*this);
187187

188188
// Make sure to emit all elements of a Decl.
189-
for (DeclGroupRef::iterator I = DG.begin(), E = DG.end(); I != E; ++I)
190-
Builder->EmitTopLevelDecl(*I);
189+
for (auto &I : DG)
190+
Builder->EmitTopLevelDecl(I);
191191

192192
return true;
193193
}

clang/lib/CodeGen/TargetBuiltins/ARM.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4560,10 +4560,10 @@ Value *CodeGenFunction::EmitAArch64SVEBuiltinExpr(unsigned BuiltinID,
45604560
Ops.insert(&Ops[1], Builder.getInt32(/*SV_ALL*/ 31));
45614561

45624562
// Predicates must match the main datatype.
4563-
for (unsigned i = 0, e = Ops.size(); i != e; ++i)
4564-
if (auto PredTy = dyn_cast<llvm::VectorType>(Ops[i]->getType()))
4563+
for (Value *&Op : Ops)
4564+
if (auto PredTy = dyn_cast<llvm::VectorType>(Op->getType()))
45654565
if (PredTy->getElementType()->isIntegerTy(1))
4566-
Ops[i] = EmitSVEPredicateCast(Ops[i], getSVEType(TypeFlags));
4566+
Op = EmitSVEPredicateCast(Op, getSVEType(TypeFlags));
45674567

45684568
// Splat scalar operand to vector (intrinsics with _n infix)
45694569
if (TypeFlags.hasSplatOperand()) {
@@ -4936,10 +4936,10 @@ Value *CodeGenFunction::EmitAArch64SMEBuiltinExpr(unsigned BuiltinID,
49364936
}
49374937

49384938
// Predicates must match the main datatype.
4939-
for (unsigned i = 0, e = Ops.size(); i != e; ++i)
4940-
if (auto PredTy = dyn_cast<llvm::VectorType>(Ops[i]->getType()))
4939+
for (Value *&Op : Ops)
4940+
if (auto PredTy = dyn_cast<llvm::VectorType>(Op->getType()))
49414941
if (PredTy->getElementType()->isIntegerTy(1))
4942-
Ops[i] = EmitSVEPredicateCast(Ops[i], getSVEType(TypeFlags));
4942+
Op = EmitSVEPredicateCast(Op, getSVEType(TypeFlags));
49434943

49444944
Function *F =
49454945
TypeFlags.isOverloadNone()
@@ -8036,8 +8036,8 @@ BuildVector(ArrayRef<llvm::Value*> Ops) {
80368036
// If this is a constant vector, create a ConstantVector.
80378037
if (AllConstants) {
80388038
SmallVector<llvm::Constant*, 16> CstOps;
8039-
for (unsigned i = 0, e = Ops.size(); i != e; ++i)
8040-
CstOps.push_back(cast<Constant>(Ops[i]));
8039+
for (llvm::Value *Op : Ops)
8040+
CstOps.push_back(cast<Constant>(Op));
80418041
return llvm::ConstantVector::get(CstOps);
80428042
}
80438043

clang/lib/CodeGen/Targets/X86.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,9 +1462,8 @@ class X86_64TargetCodeGenInfo : public TargetCodeGenInfo {
14621462
// defines varargs anyway.
14631463
if (fnType->getCallConv() == CC_C) {
14641464
bool HasAVXType = false;
1465-
for (CallArgList::const_iterator
1466-
it = args.begin(), ie = args.end(); it != ie; ++it) {
1467-
if (getABIInfo<X86_64ABIInfo>().isPassedUsingAVXType(it->Ty)) {
1465+
for (const CallArg &arg : args) {
1466+
if (getABIInfo<X86_64ABIInfo>().isPassedUsingAVXType(arg.Ty)) {
14681467
HasAVXType = true;
14691468
break;
14701469
}

0 commit comments

Comments
 (0)