Fix some scavenger performance issues.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 29 Jan 2012 01:29:28 +0000 (01:29 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 29 Jan 2012 01:29:28 +0000 (01:29 +0000)
commit9f946a24d9e69559d1e0aeb6d128c2fa19846c92
tree4290a59d915f696754463e6fbf20981297d60dd3
parent685c23e75842e64145fe319efd792abe72a827dd
Fix some scavenger performance issues.

- Don't call malloc+free in the very hot forward().
- Don't call isTiedToDefOperand().
- Don't create BitVector temporaries.
- Merge DeadRegs into KillRegs.
- Eliminate the early clobber checks, they were irrelevant to scavenging.
- Remove unnecessary code from -Asserts builds.

This speeds up ARM PEI by 3.4x and overall llc -O0 codegen time by 11%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149189 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/RegisterScavenging.h
lib/CodeGen/RegisterScavenging.cpp