[llvm-commits] [llvm] r56674 - /llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp
Owen Anderson
resistor at mac.com
Fri Sep 26 11:50:47 PDT 2008
Author: resistor
Date: Fri Sep 26 13:50:46 2008
New Revision: 56674
URL: http://llvm.org/viewvc/llvm-project?rev=56674&view=rev
Log:
We don't need to insert copies for implicit_def's.
Modified:
llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp
Modified: llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp?rev=56674&r1=56673&r2=56674&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp (original)
+++ llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp Fri Sep 26 13:50:46 2008
@@ -419,7 +419,6 @@
MachineBasicBlock::iterator P = MBB->begin();
while (P != MBB->end() && P->getOpcode() == TargetInstrInfo::PHI) {
unsigned DestReg = P->getOperand(0).getReg();
-
// Don't both doing PHI elimination for dead PHI's.
if (P->registerDefIsDead(DestReg)) {
@@ -448,6 +447,11 @@
ProcessedNames.insert(SrcReg);
continue;
}
+
+ // We don't need to insert copies for implicit_defs.
+ MachineInstr* DefMI = MRI.getVRegDef(SrcReg);
+ if (DefMI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF)
+ ProcessedNames.insert(SrcReg);
// Check for trivial interferences via liveness information, allowing us
// to avoid extra work later. Any registers that interfere cannot both
More information about the llvm-commits
mailing list