diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-09-11 01:34:59 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-09-11 01:34:59 +0000 |
commit | adc5456da09f77a0e094b06f41483adb1925d991 (patch) | |
tree | 9a5116b4b4ab49eeb94d1c7d1af97977ab7e139e /clang/test/Index/index-file.cpp | |
parent | 2bd08527ff6ceb81105cac362c03789ff7d14c25 (diff) | |
download | bcm5719-llvm-adc5456da09f77a0e094b06f41483adb1925d991.tar.gz bcm5719-llvm-adc5456da09f77a0e094b06f41483adb1925d991.zip |
AsmWriter: Avoid O(N^2) processing of metadata
Fix embarrassing bugs I introduced to the `SlotTracker` in or around
r235785. I had us iterating through every instruction in a function
(and hitting a map in the LLVMContext) for every basic block in the
function.
While there, completely avoid the call to
`SlotTracker::processFunctionMetadata()` from
`SlotTracker::processFunction()` if we've speculatively done this
already in `SlotTracker::processModule()` by checking
`ShouldInitializeAllMetadata` (this wasn't an algorithmic problem, but
it's touching the same line of code).
Fixes PR24699.
llvm-svn: 247372
Diffstat (limited to 'clang/test/Index/index-file.cpp')
0 files changed, 0 insertions, 0 deletions