diff --git a/lib/CodeGen/PHIElimination.cpp b/lib/CodeGen/PHIElimination.cpp index e21869192d9..37b7f45b1ad 100644 --- a/lib/CodeGen/PHIElimination.cpp +++ b/lib/CodeGen/PHIElimination.cpp @@ -49,12 +49,6 @@ namespace { } private: - /// findInsertionPoint - Find a safe location to insert a move to copy - /// source of a PHI instruction. - MachineBasicBlock::iterator - findInsertionPoint(MachineBasicBlock &MBB, MachineInstr *DefMI, - unsigned DstReg, unsigned SrcReg) const; - /// EliminatePHINodes - Eliminate phi nodes by inserting copy instructions /// in predecessor basic blocks. /// @@ -132,28 +126,6 @@ bool PNE::EliminatePHINodes(MachineFunction &MF, MachineBasicBlock &MBB) { return true; } -/// findInsertionPoint - Find a safe location to insert a move to copy -/// source of a PHI instruction. -MachineBasicBlock::iterator -PNE::findInsertionPoint(MachineBasicBlock &MBB, MachineInstr *DefMI, - unsigned DstReg, unsigned SrcReg) const { - if (DefMI->getOpcode() == TargetInstrInfo::PHI || - DefMI->getParent() != &MBB) - return MBB.getFirstTerminator(); - - for (MachineRegisterInfo::use_iterator I = MRI->use_begin(SrcReg), - E = MRI->use_end(); I != E; ++I) - if (I->getParent() == &MBB) - return MBB.getFirstTerminator(); - for (MachineRegisterInfo::use_iterator I = MRI->use_begin(DstReg), - E = MRI->use_end(); I != E; ++I) - if (I->getParent() == &MBB) - return MBB.getFirstTerminator(); - - MachineBasicBlock::iterator I = DefMI; - return ++I; -} - /// LowerAtomicPHINode - Lower the PHI node at the top of the specified block, /// under the assuption that it needs to be lowered in a way that supports /// atomic execution of PHIs. This lowering method is always correct all of the @@ -242,8 +214,7 @@ void PNE::LowerAtomicPHINode(MachineBasicBlock &MBB, // Find a safe location to insert the copy, this may be the first // terminator in the block (or end()). - MachineBasicBlock::iterator InsertPos = - findInsertionPoint(opBlock, DefMI, IncomingReg, SrcReg); + MachineBasicBlock::iterator InsertPos = opBlock.getFirstTerminator(); // Insert the copy. TII->copyRegToReg(opBlock, InsertPos, IncomingReg, SrcReg, RC, RC);