[llvm] e4bab21 - [AMDGPU] Use MachineBasicBlock::{predecessors,successors} (NFC)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 6 19:31:39 PDT 2021
Author: Kazu Hirata
Date: 2021-11-06T19:31:20-07:00
New Revision: e4bab21848dc5ce734997a9d0dd659f97c31411b
URL: https://github.com/llvm/llvm-project/commit/e4bab21848dc5ce734997a9d0dd659f97c31411b
DIFF: https://github.com/llvm/llvm-project/commit/e4bab21848dc5ce734997a9d0dd659f97c31411b.diff
LOG: [AMDGPU] Use MachineBasicBlock::{predecessors,successors} (NFC)
Added:
Modified:
llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
llvm/lib/Target/AMDGPU/SIModeRegister.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp b/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
index b5a75032108ab..095249d6dd36f 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
@@ -748,10 +748,8 @@ void LinearizedRegion::storeLiveOuts(MachineBasicBlock *MBB,
// If we have a successor with a PHI, source coming from this MBB we have to
// add the register as live out
- for (MachineBasicBlock::succ_iterator SI = MBB->succ_begin(),
- E = MBB->succ_end();
- SI != E; ++SI) {
- for (auto &II : *(*SI)) {
+ for (MachineBasicBlock *Succ : MBB->successors()) {
+ for (auto &II : *Succ) {
if (II.isPHI()) {
MachineInstr &PHI = II;
int numPreds = getPHINumInputs(PHI);
@@ -760,7 +758,7 @@ void LinearizedRegion::storeLiveOuts(MachineBasicBlock *MBB,
unsigned PHIReg = getPHISourceReg(PHI, i);
LLVM_DEBUG(dbgs()
<< "Add LiveOut (PhiSource " << printMBBReference(*MBB)
- << " -> " << printMBBReference(*(*SI))
+ << " -> " << printMBBReference(*Succ)
<< "): " << printReg(PHIReg, TRI) << "\n");
addLiveOut(PHIReg);
}
@@ -1235,11 +1233,7 @@ bool AMDGPUMachineCFGStructurizer::regionIsSimpleIf(RegionMRT *Region) {
return false;
}
- for (MachineBasicBlock::const_succ_iterator SI = Entry->succ_begin(),
- E = Entry->succ_end();
- SI != E; ++SI) {
- MachineBasicBlock *Current = *SI;
-
+ for (MachineBasicBlock *Current : Entry->successors()) {
if (Current == Succ) {
FoundBypass = true;
} else if ((Current->succ_size() == 1) &&
@@ -1277,10 +1271,7 @@ static void fixRegionTerminator(RegionMRT *Region) {
auto Exit = LRegion->getExit();
SmallPtrSet<MachineBasicBlock *, 2> Successors;
- for (MachineBasicBlock::const_succ_iterator SI = Exit->succ_begin(),
- SE = Exit->succ_end();
- SI != SE; ++SI) {
- MachineBasicBlock *Succ = *SI;
+ for (MachineBasicBlock *Succ : Exit->successors()) {
if (LRegion->contains(Succ)) {
// Do not allow re-assign
assert(InternalSucc == nullptr);
@@ -1774,27 +1765,20 @@ static void removeExternalCFGEdges(MachineBasicBlock *StartMBB,
unsigned SuccSize = StartMBB->succ_size();
if (SuccSize > 0) {
MachineBasicBlock *StartMBBSucc = *(StartMBB->succ_begin());
- for (MachineBasicBlock::succ_iterator PI = EndMBB->succ_begin(),
- E = EndMBB->succ_end();
- PI != E; ++PI) {
+ for (MachineBasicBlock *Succ : EndMBB->successors()) {
// Either we have a back-edge to the entry block, or a back-edge to the
// successor of the entry block since the block may be split.
- if ((*PI) != StartMBB &&
- !((*PI) == StartMBBSucc && StartMBB != EndMBB && SuccSize == 1)) {
+ if (Succ != StartMBB &&
+ !(Succ == StartMBBSucc && StartMBB != EndMBB && SuccSize == 1)) {
Succs.insert(
- std::pair<MachineBasicBlock *, MachineBasicBlock *>(EndMBB, *PI));
+ std::pair<MachineBasicBlock *, MachineBasicBlock *>(EndMBB, Succ));
}
}
}
- for (MachineBasicBlock::pred_iterator PI = StartMBB->pred_begin(),
- E = StartMBB->pred_end();
- PI != E; ++PI) {
- if ((*PI) != EndMBB) {
- Succs.insert(
- std::pair<MachineBasicBlock *, MachineBasicBlock *>(*PI, StartMBB));
- }
- }
+ for (MachineBasicBlock *Pred : StartMBB->predecessors())
+ if (Pred != EndMBB)
+ Succs.insert(std::make_pair(Pred, StartMBB));
for (auto SI : Succs) {
std::pair<MachineBasicBlock *, MachineBasicBlock *> Edge = SI;
@@ -1812,14 +1796,9 @@ MachineBasicBlock *AMDGPUMachineCFGStructurizer::createIfBlock(
MachineBasicBlock *IfBB = MF->CreateMachineBasicBlock();
if (InheritPreds) {
- for (MachineBasicBlock::pred_iterator PI = CodeBBStart->pred_begin(),
- E = CodeBBStart->pred_end();
- PI != E; ++PI) {
- if ((*PI) != CodeBBEnd) {
- MachineBasicBlock *Pred = (*PI);
+ for (MachineBasicBlock *Pred : CodeBBStart->predecessors())
+ if (Pred != CodeBBEnd)
Pred->addSuccessor(IfBB);
- }
- }
}
removeExternalCFGEdges(CodeBBStart, CodeBBEnd);
@@ -2566,11 +2545,9 @@ static void removeOldExitPreds(RegionMRT *Region) {
static bool mbbHasBackEdge(MachineBasicBlock *MBB,
SmallPtrSet<MachineBasicBlock *, 8> &MBBs) {
- for (auto SI = MBB->succ_begin(), SE = MBB->succ_end(); SI != SE; ++SI) {
- if (MBBs.contains(*SI)) {
+ for (MachineBasicBlock *Succ : MBB->successors())
+ if (MBBs.contains(Succ))
return true;
- }
- }
return false;
}
diff --git a/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp b/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
index 52ac401a2ccb3..e87dfd6bde7bf 100644
--- a/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
@@ -632,9 +632,8 @@ bool AMDGPUCFGStructurizer::isReturnBlock(MachineBasicBlock *MBB) {
void AMDGPUCFGStructurizer::cloneSuccessorList(MachineBasicBlock *DstMBB,
MachineBasicBlock *SrcMBB) {
- for (MachineBasicBlock::succ_iterator It = SrcMBB->succ_begin(),
- iterEnd = SrcMBB->succ_end(); It != iterEnd; ++It)
- DstMBB->addSuccessor(*It); // *iter's predecessor is also taken care of
+ for (MachineBasicBlock *Succ : SrcMBB->successors())
+ DstMBB->addSuccessor(Succ); // *iter's predecessor is also taken care of
}
MachineBasicBlock *AMDGPUCFGStructurizer::clone(MachineBasicBlock *MBB) {
@@ -1323,12 +1322,9 @@ int AMDGPUCFGStructurizer::improveSimpleJumpintoIf(MachineBasicBlock *HeadMBB,
insertInstrBefore(I, R600::ENDIF);
// put initReg = 2 to other predecessors of landBlk
- for (MachineBasicBlock::pred_iterator PI = LandBlk->pred_begin(),
- PE = LandBlk->pred_end(); PI != PE; ++PI) {
- MachineBasicBlock *MBB = *PI;
+ for (MachineBasicBlock *MBB : LandBlk->predecessors())
if (MBB != TrueMBB && MBB != FalseMBB)
report_fatal_error("Extra register needed to handle CFG");
- }
}
LLVM_DEBUG(
dbgs() << "result from improveSimpleJumpintoIf: ";
diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
index e201dab74c77d..fa1dfc641a69e 100644
--- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -7419,19 +7419,16 @@ void SIInstrInfo::convertNonUniformLoopRegion(
Register BackEdgeReg = MRI.createVirtualRegister(RI.getBoolRC());
MachineInstrBuilder HeaderPHIBuilder =
BuildMI(*(MF), Branch->getDebugLoc(), get(TargetOpcode::PHI), DstReg);
- for (MachineBasicBlock::pred_iterator PI = LoopEntry->pred_begin(),
- E = LoopEntry->pred_end();
- PI != E; ++PI) {
- if (*PI == LoopEnd) {
+ for (MachineBasicBlock *PMBB : LoopEntry->predecessors()) {
+ if (PMBB == LoopEnd) {
HeaderPHIBuilder.addReg(BackEdgeReg);
} else {
- MachineBasicBlock *PMBB = *PI;
Register ZeroReg = MRI.createVirtualRegister(RI.getBoolRC());
materializeImmediate(*PMBB, PMBB->getFirstTerminator(), DebugLoc(),
ZeroReg, 0);
HeaderPHIBuilder.addReg(ZeroReg);
}
- HeaderPHIBuilder.addMBB(*PI);
+ HeaderPHIBuilder.addMBB(PMBB);
}
MachineInstr *HeaderPhi = HeaderPHIBuilder;
MachineInstr *SIIFBREAK = BuildMI(*(MF), Branch->getDebugLoc(),
diff --git a/llvm/lib/Target/AMDGPU/SIModeRegister.cpp b/llvm/lib/Target/AMDGPU/SIModeRegister.cpp
index 3d659eca47db3..2ba726118619d 100644
--- a/llvm/lib/Target/AMDGPU/SIModeRegister.cpp
+++ b/llvm/lib/Target/AMDGPU/SIModeRegister.cpp
@@ -373,12 +373,8 @@ void SIModeRegister::processBlockPhase2(MachineBasicBlock &MBB,
BlockInfo[ThisBlock]->Exit = TmpStatus;
// Add the successors to the work list so we can propagate the changed exit
// status.
- for (MachineBasicBlock::succ_iterator S = MBB.succ_begin(),
- E = MBB.succ_end();
- S != E; S = std::next(S)) {
- MachineBasicBlock &B = *(*S);
- Phase2List.push(&B);
- }
+ for (MachineBasicBlock *Succ : MBB.successors())
+ Phase2List.push(Succ);
}
BlockInfo[ThisBlock]->ExitSet = ExitSet;
if (RevisitRequired)
More information about the llvm-commits
mailing list