diff options
author | Owen Anderson <resistor@mac.com> | 2008-08-14 18:34:18 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2008-08-14 18:34:18 +0000 |
commit | fa8b2ea41b293a43b362f1df60e240c9eda7b839 (patch) | |
tree | cdfc2967daad6662a937d5600fa54e8a0872c062 /llvm/lib/CodeGen | |
parent | 8de6d22392196842f78cfca89ac22d5eccf3c6ab (diff) | |
download | bcm5719-llvm-fa8b2ea41b293a43b362f1df60e240c9eda7b839.tar.gz bcm5719-llvm-fa8b2ea41b293a43b362f1df60e240c9eda7b839.zip |
Speed up addRegisterDead by adding more fast checks before performing the expensive
subregister query, and by increasing the size of the subregister hashtable so
that there are fewer collisions.
llvm-svn: 54781
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/MachineInstr.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp index c952293976e..d602e2442f7 100644 --- a/llvm/lib/CodeGen/MachineInstr.cpp +++ b/llvm/lib/CodeGen/MachineInstr.cpp @@ -834,7 +834,9 @@ bool MachineInstr::addRegisterDead(unsigned IncomingReg, // There exists a super-register that's marked dead. if (RegInfo->isSuperRegister(IncomingReg, Reg)) return true; - if (RegInfo->isSubRegister(IncomingReg, Reg)) + if (RegInfo->getSubRegisters(IncomingReg) && + RegInfo->getSuperRegisters(Reg) && + RegInfo->isSubRegister(IncomingReg, Reg)) DeadOps.push_back(i); } } |