aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Analysis/ValueTrackingTest.cpp
diff options
context:
space:
mode:
authorBen Langmuir <blangmuir@apple.com>2021-06-15 17:44:06 -0700
committerBen Langmuir <blangmuir@apple.com>2021-06-16 10:16:26 -0700
commit773ad55a393f368cc92b1611c52e493ed45a353f (patch)
tree1068c9edd56d3757d7a4ed6374c5f8c025f6df6d /llvm/unittests/Analysis/ValueTrackingTest.cpp
parent1de18ad8d79eb328ad410fa60209e5dfa19752c8 (diff)
downloadllvm-773ad55a393f368cc92b1611c52e493ed45a353f.zip
llvm-773ad55a393f368cc92b1611c52e493ed45a353f.tar.gz
llvm-773ad55a393f368cc92b1611c52e493ed45a353f.tar.bz2
[index] Fix performance regression with indexing macros
When using FileIndexRecord with macros, symbol references can be seen out of source order, which was causing a regression to insert the symbols into a vector. Instead, we now lazily sort the vector. The impact is small on most code, but in very large files with many macro references (M) near the beginning of the file followed by many decl references (D) it was O(M*D). A particularly bad protobuf-generated header was observed with a 100% regression in practice. rdar://78628133
Diffstat (limited to 'llvm/unittests/Analysis/ValueTrackingTest.cpp')
0 files changed, 0 insertions, 0 deletions