aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/StrongPHIElimination.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/CodeGen/StrongPHIElimination.cpp b/lib/CodeGen/StrongPHIElimination.cpp
index 87bb803488..91ec13df64 100644
--- a/lib/CodeGen/StrongPHIElimination.cpp
+++ b/lib/CodeGen/StrongPHIElimination.cpp
@@ -233,10 +233,9 @@ bool StrongPHIElimination::runOnMachineFunction(MachineFunction& MF) {
addReg(SrcReg);
unionRegs(DestReg, SrcReg);
- for (MachineRegisterInfo::def_iterator DI = MRI->def_begin(SrcReg),
- DE = MRI->def_end(); DI != DE; ++DI) {
- PHISrcDefs[DI->getParent()].push_back(&*DI);
- }
+ MachineInstr* DefMI = MRI->getVRegDef(SrcReg);
+ if (DefMI)
+ PHISrcDefs[DefMI->getParent()].push_back(DefMI);
}
}
}