llvm-project/llvm/lib/Transforms/Instrumentation
Kuba Brecka 37a5ffaca0 [asan] Fix invalid debug info for promotable allocas
Since r230724 ("Skip promotable allocas to improve performance at -O0"), there is a regression in the generated debug info for those non-instrumented variables. When inspecting such a variable's value in LLDB, you often get garbage instead of the actual value. ASan instrumentation is inserted before the creation of the non-instrumented alloca. The only allocas that are considered standard stack variables are the ones declared in the first basic-block, but the initial instrumentation setup in the function breaks that invariant.

This patch makes sure uninstrumented allocas stay in the first BB.

Differential Revision: http://reviews.llvm.org/D11179

llvm-svn: 242510
2015-07-17 06:29:57 +00:00
..
AddressSanitizer.cpp [asan] Fix invalid debug info for promotable allocas 2015-07-17 06:29:57 +00:00
BoundsChecking.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CMakeLists.txt Protection against stack-based memory corruption errors using SafeStack 2015-06-15 21:07:11 +00:00
DataFlowSanitizer.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GCOVProfiling.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstrProfiling.cpp Tidy comment. 2015-06-29 20:03:46 +00:00
Instrumentation.cpp Protection against stack-based memory corruption errors using SafeStack 2015-06-15 21:07:11 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
Makefile
MaximumSpanningTree.h
MemorySanitizer.cpp Revert the new EH instructions 2015-07-10 07:15:17 +00:00
SafeStack.cpp SafeStack: Create the unsafe stack pointer on demand. 2015-06-22 20:26:54 +00:00
SanitizerCoverage.cpp [SanitizerCoverage] Don't add instrumentation to unreachable blocks. 2015-06-30 23:11:45 +00:00
ThreadSanitizer.cpp Simplify IRBuilder::CreateCall* by using ArrayRef+initializer_list/braced init only 2015-05-18 22:13:54 +00:00