summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-08-14 18:34:18 +0000
committerOwen Anderson <resistor@mac.com>2008-08-14 18:34:18 +0000
commitfa8b2ea41b293a43b362f1df60e240c9eda7b839 (patch)
treecdfc2967daad6662a937d5600fa54e8a0872c062 /llvm/lib/CodeGen
parent8de6d22392196842f78cfca89ac22d5eccf3c6ab (diff)
downloadbcm5719-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.cpp4
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);
}
}
OpenPOWER on IntegriCloud