[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