[asan] Speed up compilation of large C++ stringmaps (tons of allocas) with ASan
authorKuba Brecka <kuba.brecka@gmail.com>
Tue, 8 Nov 2016 21:30:41 +0000 (21:30 +0000)
committerKuba Brecka <kuba.brecka@gmail.com>
Tue, 8 Nov 2016 21:30:41 +0000 (21:30 +0000)
commita49dcbb743d822d05e5e091bf97378d38f36140d
tree1ab4df691c28a8dd85d1f6354a505cc058826ef4
parent270dab27941daf221e2b65a379c7357a1542135a
[asan] Speed up compilation of large C++ stringmaps (tons of allocas) with ASan

This addresses PR30746, <https://llvm.org/bugs/show_bug.cgi?id=30746>. The ASan pass iterates over entry-block instructions and checks each alloca whether it's in NonInstrumentedStaticAllocaVec, which is apparently slow. This patch gathers the instructions to move during visitAllocaInst.

Differential Revision: https://reviews.llvm.org/D26380

llvm-svn: 286296
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/test/Instrumentation/AddressSanitizer/debug_info_noninstrumented_alloca2.ll [new file with mode: 0644]