[llvm] r276434 - AMDGPU: Don't reinvent transferSuccessorsAndUpdatePHIs
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 22 10:01:15 PDT 2016
Author: arsenm
Date: Fri Jul 22 12:01:15 2016
New Revision: 276434
URL: http://llvm.org/viewvc/llvm-project?rev=276434&view=rev
Log:
AMDGPU: Don't reinvent transferSuccessorsAndUpdatePHIs
Modified:
llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp
Modified: llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp?rev=276434&r1=276433&r2=276434&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp Fri Jul 22 12:01:15 2016
@@ -1072,24 +1072,6 @@ unsigned SITargetLowering::getRegisterBy
+ StringRef(RegName) + "\"."));
}
-static void replaceSuccessorPhisWith(MachineBasicBlock &BB,
- MachineBasicBlock &SplitBB) {
- for (MachineBasicBlock *Succ : BB.successors()) {
- for (MachineInstr &MI : *Succ) {
- if (!MI.isPHI())
- break;
-
- for (unsigned I = 2, E = MI.getNumOperands(); I != E; I += 2) {
- MachineOperand &FromBB = MI.getOperand(I);
- if (&BB == FromBB.getMBB()) {
- FromBB.setMBB(&SplitBB);
- break;
- }
- }
- }
- }
-}
-
// If kill is not the last instruction, split the block so kill is always a
// proper terminator.
MachineBasicBlock *SITargetLowering::splitKillBlock(MachineInstr &MI,
@@ -1109,14 +1091,10 @@ MachineBasicBlock *SITargetLowering::spl
MachineBasicBlock *SplitBB
= MF->CreateMachineBasicBlock(BB->getBasicBlock());
- // Fix the block phi references to point to the new block for the defs in the
- // second piece of the block.
- replaceSuccessorPhisWith(*BB, *SplitBB);
-
MF->insert(++MachineFunction::iterator(BB), SplitBB);
SplitBB->splice(SplitBB->begin(), BB, SplitPoint, BB->end());
- SplitBB->transferSuccessors(BB);
+ SplitBB->transferSuccessorsAndUpdatePHIs(BB);
BB->addSuccessor(SplitBB);
MI.setDesc(TII->get(AMDGPU::SI_KILL_TERMINATOR));
@@ -1237,13 +1215,11 @@ static MachineBasicBlock *loadM0FromVGPR
MF->insert(MBBI, LoopBB);
MF->insert(MBBI, RemainderBB);
- replaceSuccessorPhisWith(MBB, *RemainderBB);
-
LoopBB->addSuccessor(LoopBB);
LoopBB->addSuccessor(RemainderBB);
// Move the rest of the block into a new block.
- RemainderBB->transferSuccessors(&MBB);
+ RemainderBB->transferSuccessorsAndUpdatePHIs(&MBB);
RemainderBB->splice(RemainderBB->begin(), &MBB, I, MBB.end());
MBB.addSuccessor(LoopBB);
More information about the llvm-commits
mailing list