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 | d16ad3e43c4dc59b3f6f8f36338a778f7c7a8701 (patch) | |
tree | 5d70be74276d860b084551583e4a90526770c747 /lib/CodeGen | |
parent | e0f6db369d09e15f752618b2346642ee65bf7b3d (diff) | |
download | llvm-d16ad3e43c4dc59b3f6f8f36338a778f7c7a8701.tar.gz llvm-d16ad3e43c4dc59b3f6f8f36338a778f7c7a8701.tar.bz2 llvm-d16ad3e43c4dc59b3f6f8f36338a778f7c7a8701.tar.xz |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122635 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/StrongPHIElimination.cpp | 7 |
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); } } } |