Skip to content

Commit 0a5788a

Browse files
[Target] Use range-based for loops (NFC)
1 parent b07292f commit 0a5788a

11 files changed

+41
-50
lines changed

llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1123,9 +1123,8 @@ uint32_t ARMAsmBackendDarwin::generateCompactUnwindEncoding(
11231123
DenseMap<unsigned, int> RegOffsets;
11241124
int FloatRegCount = 0;
11251125
// Process each .cfi directive and build up compact unwind info.
1126-
for (size_t i = 0, e = Instrs.size(); i != e; ++i) {
1126+
for (const MCCFIInstruction &Inst : Instrs) {
11271127
unsigned Reg;
1128-
const MCCFIInstruction &Inst = Instrs[i];
11291128
switch (Inst.getOperation()) {
11301129
case MCCFIInstruction::OpDefCfa: // DW_CFA_def_cfa
11311130
CFARegisterOffset = Inst.getOffset();

llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,8 @@ void ARMTargetAsmStreamer::emitInst(uint32_t Inst, char Suffix) {
264264
void ARMTargetAsmStreamer::emitUnwindRaw(int64_t Offset,
265265
const SmallVectorImpl<uint8_t> &Opcodes) {
266266
OS << "\t.unwind_raw " << Offset;
267-
for (SmallVectorImpl<uint8_t>::const_iterator OCI = Opcodes.begin(),
268-
OCE = Opcodes.end();
269-
OCI != OCE; ++OCI)
270-
OS << ", 0x" << Twine::utohexstr(*OCI);
267+
for (uint8_t Opcode : Opcodes)
268+
OS << ", 0x" << Twine::utohexstr(Opcode);
271269
OS << '\n';
272270
}
273271

llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,8 +338,8 @@ void ARM_MC::initLLVMToCVRegMapping(MCRegisterInfo *MRI) {
338338
{codeview::RegisterId::ARM_NQ14, ARM::Q14},
339339
{codeview::RegisterId::ARM_NQ15, ARM::Q15},
340340
};
341-
for (unsigned I = 0; I < array_lengthof(RegMap); ++I)
342-
MRI->mapLLVMRegToCVReg(RegMap[I].Reg, static_cast<int>(RegMap[I].CVReg));
341+
for (const auto &I : RegMap)
342+
MRI->mapLLVMRegToCVReg(I.Reg, static_cast<int>(I.CVReg));
343343
}
344344

345345
static MCRegisterInfo *createARMMCRegisterInfo(const Triple &Triple) {

llvm/lib/Target/ARM/Thumb2SizeReduction.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,9 +1147,8 @@ bool Thumb2SizeReduce::runOnMachineFunction(MachineFunction &MF) {
11471147
// predecessors.
11481148
ReversePostOrderTraversal<MachineFunction*> RPOT(&MF);
11491149
bool Modified = false;
1150-
for (ReversePostOrderTraversal<MachineFunction*>::rpo_iterator
1151-
I = RPOT.begin(), E = RPOT.end(); I != E; ++I)
1152-
Modified |= ReduceMBB(**I);
1150+
for (MachineBasicBlock *MBB : RPOT)
1151+
Modified |= ReduceMBB(*MBB);
11531152
return Modified;
11541153
}
11551154

llvm/lib/Target/Hexagon/BitTracker.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -940,8 +940,8 @@ void BT::visitBranchesFrom(const MachineInstr &BI) {
940940
// If evaluated successfully add the targets to the cumulative list.
941941
if (Trace) {
942942
dbgs() << " adding targets:";
943-
for (unsigned i = 0, n = BTs.size(); i < n; ++i)
944-
dbgs() << " " << printMBBReference(*BTs[i]);
943+
for (const MachineBasicBlock *BT : BTs)
944+
dbgs() << " " << printMBBReference(*BT);
945945
if (FallsThrough)
946946
dbgs() << "\n falls through\n";
947947
else

llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3260,13 +3260,12 @@ bool HexagonLoopRescheduling::processLoop(LoopCand &C) {
32603260
dbgs() << "Group[" << i << "] inp: "
32613261
<< printReg(G.Inp.Reg, HRI, G.Inp.Sub)
32623262
<< " out: " << printReg(G.Out.Reg, HRI, G.Out.Sub) << "\n";
3263-
for (unsigned j = 0, m = G.Ins.size(); j < m; ++j)
3264-
dbgs() << " " << *G.Ins[j];
3263+
for (const MachineInstr *MI : G.Ins)
3264+
dbgs() << " " << MI;
32653265
}
32663266
});
32673267

3268-
for (unsigned i = 0, n = Groups.size(); i < n; ++i) {
3269-
InstrGroup &G = Groups[i];
3268+
for (InstrGroup &G : Groups) {
32703269
if (!isShuffleOf(G.Out.Reg, G.Inp.Reg))
32713270
continue;
32723271
auto LoopInpEq = [G] (const PhiInfo &P) -> bool {

llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,10 @@ bool HexagonCFGOptimizer::runOnMachineFunction(MachineFunction &Fn) {
118118
return false;
119119

120120
// Loop over all of the basic blocks.
121-
for (MachineFunction::iterator MBBb = Fn.begin(), MBBe = Fn.end();
122-
MBBb != MBBe; ++MBBb) {
123-
MachineBasicBlock *MBB = &*MBBb;
124-
121+
for (MachineBasicBlock &MBB : Fn) {
125122
// Traverse the basic block.
126-
MachineBasicBlock::iterator MII = MBB->getFirstTerminator();
127-
if (MII != MBB->end()) {
123+
MachineBasicBlock::iterator MII = MBB.getFirstTerminator();
124+
if (MII != MBB.end()) {
128125
MachineInstr &MI = *MII;
129126
int Opc = MI.getOpcode();
130127
if (IsConditionalBranch(Opc)) {
@@ -155,17 +152,17 @@ bool HexagonCFGOptimizer::runOnMachineFunction(MachineFunction &Fn) {
155152
// Remove BB2
156153
// BB3: ...
157154
// BB4: ...
158-
unsigned NumSuccs = MBB->succ_size();
159-
MachineBasicBlock::succ_iterator SI = MBB->succ_begin();
155+
unsigned NumSuccs = MBB.succ_size();
156+
MachineBasicBlock::succ_iterator SI = MBB.succ_begin();
160157
MachineBasicBlock* FirstSucc = *SI;
161158
MachineBasicBlock* SecondSucc = *(++SI);
162159
MachineBasicBlock* LayoutSucc = nullptr;
163160
MachineBasicBlock* JumpAroundTarget = nullptr;
164161

165-
if (MBB->isLayoutSuccessor(FirstSucc)) {
162+
if (MBB.isLayoutSuccessor(FirstSucc)) {
166163
LayoutSucc = FirstSucc;
167164
JumpAroundTarget = SecondSucc;
168-
} else if (MBB->isLayoutSuccessor(SecondSucc)) {
165+
} else if (MBB.isLayoutSuccessor(SecondSucc)) {
169166
LayoutSucc = SecondSucc;
170167
JumpAroundTarget = FirstSucc;
171168
} else {
@@ -201,7 +198,7 @@ bool HexagonCFGOptimizer::runOnMachineFunction(MachineFunction &Fn) {
201198

202199
if (case1 || case2) {
203200
InvertAndChangeJumpTarget(MI, UncondTarget);
204-
MBB->replaceSuccessor(JumpAroundTarget, UncondTarget);
201+
MBB.replaceSuccessor(JumpAroundTarget, UncondTarget);
205202

206203
// Remove the unconditional branch in LayoutSucc.
207204
LayoutSucc->erase(LayoutSucc->begin());

llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ namespace {
125125
};
126126

127127
LatticeCell() : Kind(Top), Size(0), IsSpecial(false) {
128-
for (unsigned i = 0; i < MaxCellSize; ++i)
129-
Values[i] = nullptr;
128+
for (const Constant *&Value : Values)
129+
Value = nullptr;
130130
}
131131

132132
bool meet(const LatticeCell &L);
@@ -1029,8 +1029,8 @@ bool MachineConstPropagator::rewrite(MachineFunction &MF) {
10291029
ToRemove.push_back(const_cast<MachineBasicBlock*>(SB));
10301030
Targets.remove(SB);
10311031
}
1032-
for (unsigned i = 0, n = ToRemove.size(); i < n; ++i)
1033-
removeCFGEdge(B, ToRemove[i]);
1032+
for (MachineBasicBlock *MBB : ToRemove)
1033+
removeCFGEdge(B, MBB);
10341034
// If there are any blocks left in the computed targets, it means that
10351035
// we think that the block could go somewhere, but the CFG does not.
10361036
// This could legitimately happen in blocks that have non-returning

llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -612,8 +612,8 @@ bool HexagonEarlyIfConversion::visitBlock(MachineBasicBlock *B,
612612
// Simply keep a list of children of B, and traverse that list.
613613
using DTNodeVectType = SmallVector<MachineDomTreeNode *, 4>;
614614
DTNodeVectType Cn(GTN::child_begin(N), GTN::child_end(N));
615-
for (DTNodeVectType::iterator I = Cn.begin(), E = Cn.end(); I != E; ++I) {
616-
MachineBasicBlock *SB = (*I)->getBlock();
615+
for (auto &I : Cn) {
616+
MachineBasicBlock *SB = I->getBlock();
617617
if (!Deleted.count(SB))
618618
Changed |= visitBlock(SB, L);
619619
}
@@ -648,8 +648,8 @@ bool HexagonEarlyIfConversion::visitLoop(MachineLoop *L) {
648648
<< "\n");
649649
bool Changed = false;
650650
if (L) {
651-
for (MachineLoop::iterator I = L->begin(), E = L->end(); I != E; ++I)
652-
Changed |= visitLoop(*I);
651+
for (MachineLoop *I : *L)
652+
Changed |= visitLoop(I);
653653
}
654654

655655
MachineBasicBlock *EntryB = GraphTraits<MachineFunction*>::getEntryNode(MFN);
@@ -964,17 +964,17 @@ void HexagonEarlyIfConversion::removeBlock(MachineBasicBlock *B) {
964964
using DTNodeVectType = SmallVector<MachineDomTreeNode *, 4>;
965965

966966
DTNodeVectType Cn(GTN::child_begin(N), GTN::child_end(N));
967-
for (DTNodeVectType::iterator I = Cn.begin(), E = Cn.end(); I != E; ++I) {
968-
MachineBasicBlock *SB = (*I)->getBlock();
967+
for (auto &I : Cn) {
968+
MachineBasicBlock *SB = I->getBlock();
969969
MDT->changeImmediateDominator(SB, IDB);
970970
}
971971
}
972972

973973
while (!B->succ_empty())
974974
B->removeSuccessor(B->succ_begin());
975975

976-
for (auto I = B->pred_begin(), E = B->pred_end(); I != E; ++I)
977-
(*I)->removeSuccessor(B, true);
976+
for (MachineBasicBlock *Pred : B->predecessors())
977+
Pred->removeSuccessor(B, true);
978978

979979
Deleted.insert(B);
980980
MDT->eraseNode(B);
@@ -1064,8 +1064,8 @@ bool HexagonEarlyIfConversion::runOnMachineFunction(MachineFunction &MF) {
10641064
Deleted.clear();
10651065
bool Changed = false;
10661066

1067-
for (MachineLoopInfo::iterator I = MLI->begin(), E = MLI->end(); I != E; ++I)
1068-
Changed |= visitLoop(*I);
1067+
for (MachineLoop *L : *MLI)
1068+
Changed |= visitLoop(L);
10691069
Changed |= visitLoop(nullptr);
10701070

10711071
return Changed;

llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1106,8 +1106,7 @@ bool HexagonExpandCondsets::isIntReg(RegisterRef RR, unsigned &BW) {
11061106
}
11071107

11081108
bool HexagonExpandCondsets::isIntraBlocks(LiveInterval &LI) {
1109-
for (LiveInterval::iterator I = LI.begin(), E = LI.end(); I != E; ++I) {
1110-
LiveRange::Segment &LR = *I;
1109+
for (LiveRange::Segment &LR : LI) {
11111110
// Range must start at a register...
11121111
if (!LR.start.isRegister())
11131112
return false;
@@ -1160,16 +1159,16 @@ bool HexagonExpandCondsets::coalesceRegisters(RegisterRef R1, RegisterRef R2) {
11601159
// Move all live segments from L2 to L1.
11611160
using ValueInfoMap = DenseMap<VNInfo *, VNInfo *>;
11621161
ValueInfoMap VM;
1163-
for (LiveInterval::iterator I = L2.begin(), E = L2.end(); I != E; ++I) {
1164-
VNInfo *NewVN, *OldVN = I->valno;
1162+
for (LiveRange::Segment &I : L2) {
1163+
VNInfo *NewVN, *OldVN = I.valno;
11651164
ValueInfoMap::iterator F = VM.find(OldVN);
11661165
if (F == VM.end()) {
1167-
NewVN = L1.getNextValue(I->valno->def, LIS->getVNInfoAllocator());
1166+
NewVN = L1.getNextValue(I.valno->def, LIS->getVNInfoAllocator());
11681167
VM.insert(std::make_pair(OldVN, NewVN));
11691168
} else {
11701169
NewVN = F->second;
11711170
}
1172-
L1.addSegment(LiveRange::Segment(I->start, I->end, NewVN));
1171+
L1.addSegment(LiveRange::Segment(I.start, I.end, NewVN));
11731172
}
11741173
while (!L2.empty())
11751174
L2.removeSegment(*L2.begin());

llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -416,8 +416,8 @@ void HexagonFrameLowering::findShrunkPrologEpilog(MachineFunction &MF,
416416
UnsignedMap RPO;
417417
RPOTType RPOT(&MF);
418418
unsigned RPON = 0;
419-
for (RPOTType::rpo_iterator I = RPOT.begin(), E = RPOT.end(); I != E; ++I)
420-
RPO[(*I)->getNumber()] = RPON++;
419+
for (auto &I : RPOT)
420+
RPO[I->getNumber()] = RPON++;
421421

422422
// Don't process functions that have loops, at least for now. Placement
423423
// of prolog and epilog must take loop structure into account. For simpli-

0 commit comments

Comments
 (0)