summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/StrongPHIElimination.cpp
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2010-12-30 00:42:23 +0000
committerCameron Zwarich <zwarich@apple.com>2010-12-30 00:42:23 +0000
commit2f6dc10cccdcf4d527c907029bfce756c494796c (patch)
treea3b8b6e0876613b28b33b9d7cbac65d9c036a2d1 /llvm/lib/CodeGen/StrongPHIElimination.cpp
parentacc6b4e2fdd9a242b7f15ded72dd542c0518a115 (diff)
downloadbcm5719-llvm-2f6dc10cccdcf4d527c907029bfce756c494796c.tar.gz
bcm5719-llvm-2f6dc10cccdcf4d527c907029bfce756c494796c.zip
Use getVRegDef() instead of def_iterator. This leads to fewer defs being added
with 2-address instructions, for about a 3.5% speedup of StrongPHIElimination on 403.gcc. llvm-svn: 122635
Diffstat (limited to 'llvm/lib/CodeGen/StrongPHIElimination.cpp')
-rw-r--r--llvm/lib/CodeGen/StrongPHIElimination.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/StrongPHIElimination.cpp b/llvm/lib/CodeGen/StrongPHIElimination.cpp
index 87bb8034883..91ec13df643 100644
--- a/llvm/lib/CodeGen/StrongPHIElimination.cpp
+++ b/llvm/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);
}
}
}
OpenPOWER on IntegriCloud