[llvm] c3e698e - [CodeGen, Hexagon] Use MachineBasicBlock::phis (NFC)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 26 09:01:40 PDT 2021
Author: Kazu Hirata
Date: 2021-10-26T09:01:29-07:00
New Revision: c3e698e2f532262058691701d424da464012f0c0
URL: https://github.com/llvm/llvm-project/commit/c3e698e2f532262058691701d424da464012f0c0
DIFF: https://github.com/llvm/llvm-project/commit/c3e698e2f532262058691701d424da464012f0c0.diff
LOG: [CodeGen, Hexagon] Use MachineBasicBlock::phis (NFC)
Added:
Modified:
llvm/lib/CodeGen/MachinePipeliner.cpp
llvm/lib/CodeGen/ModuloSchedule.cpp
llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp
index f32c8a2978fe..e18318386def 100644
--- a/llvm/lib/CodeGen/MachinePipeliner.cpp
+++ b/llvm/lib/CodeGen/MachinePipeliner.cpp
@@ -385,7 +385,7 @@ void MachinePipeliner::preprocessPhiNodes(MachineBasicBlock &B) {
MachineRegisterInfo &MRI = MF->getRegInfo();
SlotIndexes &Slots = *getAnalysis<LiveIntervals>().getSlotIndexes();
- for (MachineInstr &PI : make_range(B.begin(), B.getFirstNonPHI())) {
+ for (MachineInstr &PI : B.phis()) {
MachineOperand &DefOp = PI.getOperand(0);
assert(DefOp.getSubReg() == 0);
auto *RC = MRI.getRegClass(DefOp.getReg());
diff --git a/llvm/lib/CodeGen/ModuloSchedule.cpp b/llvm/lib/CodeGen/ModuloSchedule.cpp
index b5517c40a28a..fb133f7ca718 100644
--- a/llvm/lib/CodeGen/ModuloSchedule.cpp
+++ b/llvm/lib/CodeGen/ModuloSchedule.cpp
@@ -759,15 +759,11 @@ void ModuloScheduleExpander::removeDeadInstructions(MachineBasicBlock *KernelBB,
}
// In the kernel block, check if we can remove a Phi that generates a value
// used in an instruction removed in the epilog block.
- for (MachineBasicBlock::iterator BBI = KernelBB->instr_begin(),
- BBE = KernelBB->getFirstNonPHI();
- BBI != BBE;) {
- MachineInstr *MI = &*BBI;
- ++BBI;
- Register reg = MI->getOperand(0).getReg();
+ for (MachineInstr &MI : llvm::make_early_inc_range(KernelBB->phis())) {
+ Register reg = MI.getOperand(0).getReg();
if (MRI.use_begin(reg) == MRI.use_end()) {
- LIS.RemoveMachineInstrFromMaps(*MI);
- MI->eraseFromParent();
+ LIS.RemoveMachineInstrFromMaps(MI);
+ MI.eraseFromParent();
}
}
}
@@ -1223,8 +1219,7 @@ void EliminateDeadPhis(MachineBasicBlock *MBB, MachineRegisterInfo &MRI,
bool Changed = true;
while (Changed) {
Changed = false;
- for (auto I = MBB->begin(); I != MBB->getFirstNonPHI();) {
- MachineInstr &MI = *I++;
+ for (MachineInstr &MI : llvm::make_early_inc_range(MBB->phis())) {
assert(MI.isPHI());
if (MRI.use_empty(MI.getOperand(0).getReg())) {
if (LIS)
@@ -1768,8 +1763,8 @@ void PeelingModuloScheduleExpander::peelPrologAndEpilogs() {
// Keep track at which iteration each phi belongs to. We need it to know
// what version of the variable to use during prologue/epilogue stitching.
EliminateDeadPhis(B, MRI, LIS, /*KeepSingleSrcPhi=*/true);
- for (auto Phi = B->begin(), IE = B->getFirstNonPHI(); Phi != IE; ++Phi)
- PhiNodeLoopIteration[&*Phi] = Schedule.getNumStages() - I;
+ for (MachineInstr &Phi : B->phis())
+ PhiNodeLoopIteration[&Phi] = Schedule.getNumStages() - I;
}
for (size_t I = 0; I < Epilogs.size(); I++) {
LS.reset();
diff --git a/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp b/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
index 954e61563697..3660fa4b06ab 100644
--- a/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
@@ -863,14 +863,13 @@ void MachineConstPropagator::removeCFGEdge(MachineBasicBlock *From,
// First, remove the CFG successor/predecessor information.
From->removeSuccessor(To);
// Remove all corresponding PHI operands in the To block.
- for (auto I = To->begin(), E = To->getFirstNonPHI(); I != E; ++I) {
- MachineInstr *PN = &*I;
+ for (MachineInstr &PN : To->phis()) {
// reg0 = PHI reg1, bb2, reg3, bb4, ...
- int N = PN->getNumOperands()-2;
+ int N = PN.getNumOperands() - 2;
while (N > 0) {
- if (PN->getOperand(N+1).getMBB() == From) {
- PN->RemoveOperand(N+1);
- PN->RemoveOperand(N);
+ if (PN.getOperand(N + 1).getMBB() == From) {
+ PN.RemoveOperand(N + 1);
+ PN.RemoveOperand(N);
}
N -= 2;
}
More information about the llvm-commits
mailing list