[llvm-commits] [llvm] r90744 - /llvm/trunk/lib/CodeGen/MachineSSAUpdater.cpp
Evan Cheng
evan.cheng at apple.com
Sun Dec 6 19:07:01 PST 2009
Author: evancheng
Date: Sun Dec 6 21:07:01 2009
New Revision: 90744
URL: http://llvm.org/viewvc/llvm-project?rev=90744&view=rev
Log:
If BB is empty, insert PHI before end() instead of front().
Modified:
llvm/trunk/lib/CodeGen/MachineSSAUpdater.cpp
Modified: llvm/trunk/lib/CodeGen/MachineSSAUpdater.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineSSAUpdater.cpp?rev=90744&r1=90743&r2=90744&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineSSAUpdater.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineSSAUpdater.cpp Sun Dec 6 21:07:01 2009
@@ -157,8 +157,9 @@
return SingularValue;
// Otherwise, we do need a PHI: insert one now.
+ MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->front();
MachineInstr *InsertedPHI = InsertNewDef(TargetInstrInfo::PHI, BB,
- BB->front(), VRC, MRI, TII);
+ Loc, VRC, MRI, TII);
// Fill in all the predecessors of the PHI.
MachineInstrBuilder MIB(InsertedPHI);
@@ -231,7 +232,8 @@
// that we have a cycle. Handle this by inserting a PHI node and returning
// it. When we get back to the first instance of the recursion we will fill
// in the PHI node.
- MachineInstr *NewPHI = InsertNewDef(TargetInstrInfo::PHI, BB, BB->front(),
+ MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->front();
+ MachineInstr *NewPHI = InsertNewDef(TargetInstrInfo::PHI, BB, Loc,
VRC, MRI,TII);
unsigned NewVR = NewPHI->getOperand(0).getReg();
InsertRes.first->second = NewVR;
@@ -311,7 +313,8 @@
// Otherwise, we do need a PHI: insert one now if we don't already have one.
MachineInstr *InsertedPHI;
if (InsertedVal == 0) {
- InsertedPHI = InsertNewDef(TargetInstrInfo::PHI, BB, BB->front(),
+ MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->front();
+ InsertedPHI = InsertNewDef(TargetInstrInfo::PHI, BB, Loc,
VRC, MRI, TII);
InsertedVal = InsertedPHI->getOperand(0).getReg();
} else {
More information about the llvm-commits
mailing list