aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2011-09-16 23:01:39 +0000
committerTed Kremenek <kremenek@apple.com>2011-09-16 23:01:39 +0000
commit87aa1250a90af9d92ad9d6b7b65610a45bf478c1 (patch)
tree1b03efb7e18a976f79260246004534c1f72cbee3 /lib/Driver/Tools.cpp
parent733a83b324dc31ac5be3f30f4d05febad0728474 (diff)
Fix massive LiveVariables regression (due to LiveVariables rewrite) by addressing two performance problems:
- Speed of "merge()", which merged data flow facts. This was doing a set canonicalization on every insertion, which was super slow. To fix this, we use ImmutableSetRef. - Visit CFGBlocks in reverse postorder. This is a huge speedup, as on some test cases the algorithm would take many iterations to converge. This contains a bunch of copy-paste from UninitializedValues.cpp and ThreadSafety.cpp. The idea was to get something working first, and then refactor the common logic for all three files into a separate analysis/library entry point. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139968 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.cpp')
0 files changed, 0 insertions, 0 deletions