diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-12-06 16:14:29 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-12-06 16:14:29 +0000 |
commit | b5188f163a5aeb3f61a40bc6c3adf1cecbb4b5f4 (patch) | |
tree | bfe4c5e0ba7e141b50a39405657daf4dbff44fd6 /clang/lib/Lex/ModuleMap.cpp | |
parent | 488ea473db0105f5d56438f655614cbbb19f51b5 (diff) | |
download | bcm5719-llvm-b5188f163a5aeb3f61a40bc6c3adf1cecbb4b5f4.tar.gz bcm5719-llvm-b5188f163a5aeb3f61a40bc6c3adf1cecbb4b5f4.zip |
Simplify common predecessor finding.
- Walking over pred_begin/pred_end is an expensive operation.
- PHINodes contain a value for each predecessor anyway.
- While it may look like we used to save a few iterations with the set,
be aware that getIncomingValueForBlock does a linear search on
the values of the phi node.
- Another -5% on ARMDisassembler.cpp (Release build). This was the last
entry in the profile that was obviously wasting time.
llvm-svn: 145937
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions