llvm-6502/lib/Transforms/Instrumentation
Alexey Samsonov 05e5839d4f [ASan] Change fake stack and local variables handling.
This commit changes the way we get fake stack from ASan runtime
(to find use-after-return errors) and the way we represent local
variables:
  - __asan_stack_malloc function now returns pointer to newly allocated
    fake stack frame, or NULL if frame cannot be allocated. It doesn't
    take pointer to real stack as an input argument, it is calculated
    inside the runtime.
  - __asan_stack_free function doesn't take pointer to real stack as
    an input argument. Now this function is never called if fake stack
    frame wasn't allocated.
  - __asan_init version is bumped to reflect changes in the ABI.
  - new flag "-asan-stack-dynamic-alloca" allows to store all the
    function local variables in a dynamic alloca, instead of the static
    one. It reduces the stack space usage in use-after-return mode
    (dynamic alloca will not be called if the local variables are stored
    in a fake stack), and improves the debug info quality for local
    variables (they will not be described relatively to %rbp/%rsp, which
    are assumed to be clobbered by function calls). This flag is turned
    off by default for now, but I plan to turn it on after more
    testing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224062 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-11 21:53:03 +00:00
..
AddressSanitizer.cpp [ASan] Change fake stack and local variables handling. 2014-12-11 21:53:03 +00:00
BoundsChecking.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CMakeLists.txt InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
DataFlowSanitizer.cpp [DFSAN][MIPS][LLVM] Defining ShadowPtrMask variable for MIPS64 2014-12-05 21:22:32 +00:00
GCOVProfiling.cpp Emit the entry block first and the exit block second, then all the blocks in between afterwards. This is what gcc always does, and some out of tree tools depend on that. 2014-12-03 02:45:01 +00:00
InstrProfiling.cpp InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
Instrumentation.cpp InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
LLVMBuild.txt LLVMInstrumentation requires MC since r223532. 2014-12-06 02:22:11 +00:00
Makefile
MaximumSpanningTree.h
MemorySanitizer.cpp [msan] Avoid extra origin address realignment. 2014-12-05 14:34:03 +00:00
SanitizerCoverage.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
ThreadSanitizer.cpp Use nullptr instead of NULL for variadic sentinels 2014-11-13 22:55:19 +00:00