aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-09-09 11:56:14 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-09-09 11:56:14 +0000
commit11b450589978a39e59b77cd074dcda9d5697f174 (patch)
tree17404ac6a5404b040aae87d0b5df02965f37d085 /lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
parent12fb5c667fea5339228e7cc184ffd3b3bcb532ea (diff)
LiveVariables: Compute a set of defs and kills to speed up updating LV during critical edge splitting.
Previously we checked if the register is def'd in a block via the def/use list a nd walked the list of kills to check if the register is killed in a block. Both of these checks can be made much cheaper by walking the block first and recording all defs and kills. This reduces the compile time of the test case from PR13651 from 40s to 15s at -O2. The compile time is still dominated by LV updating but now the main culprit is SparseBitVector's slowness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163478 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
0 files changed, 0 insertions, 0 deletions