diff options
author | Cameron Zwarich <zwarich@apple.com> | 2010-12-30 00:42:23 +0000 |
---|---|---|
committer | Cameron Zwarich <zwarich@apple.com> | 2010-12-30 00:42:23 +0000 |
commit | 2f6dc10cccdcf4d527c907029bfce756c494796c (patch) | |
tree | a3b8b6e0876613b28b33b9d7cbac65d9c036a2d1 /llvm/lib/CodeGen/StrongPHIElimination.cpp | |
parent | acc6b4e2fdd9a242b7f15ded72dd542c0518a115 (diff) | |
download | bcm5719-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.cpp | 7 |
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); } } } |