llvm-6502/lib/Transforms/Instrumentation
Evgeniy Stepanov d8313be410 ASan: use getTypeAllocSize instead of getTypeStoreSize.
This change replaces getTypeStoreSize with getTypeAllocSize in AddressSanitizer
instrumentation for stack allocations.

One case where old behaviour produced undesired results is an optimization in
InstCombine pass (PromoteCastOfAllocation), which can replace  alloca(T) with
alloca(S), where S has the same AllocSize, but a smaller StoreSize. Another
case is memcpy(long double => long double), where ASan will poison bytes 10-15
of a stack-allocated long double (StoreSize  10, AllocSize 16,
sizeof(long double) = 16).

See http://llvm.org/bugs/show_bug.cgi?id=12047 for more context.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151887 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02 10:41:08 +00:00
..
AddressSanitizer.cpp ASan: use getTypeAllocSize instead of getTypeStoreSize. 2012-03-02 10:41:08 +00:00
CMakeLists.txt ThreadSanitizer, a race detector. First LLVM commit. 2012-02-13 22:50:51 +00:00
EdgeProfiling.cpp land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
GCOVProfiling.cpp Expose a switch for the new gcov format. 2011-12-06 00:29:13 +00:00
Instrumentation.cpp ThreadSanitizer, a race detector. First LLVM commit. 2012-02-13 22:50:51 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
MaximumSpanningTree.h Fix typos. Adjust some whitespace for style. No functionality change. 2011-04-05 20:39:27 +00:00
OptimalEdgeProfiling.cpp Remove all remaining uses of Value::getNameStr(). 2011-11-15 16:27:03 +00:00
PathProfiling.cpp Remove all remaining uses of Value::getNameStr(). 2011-11-15 16:27:03 +00:00
ProfilingUtils.cpp When inserting new instructions, use getFirstInsertionPt instead of 2011-08-25 01:08:34 +00:00
ProfilingUtils.h Add a function for profiling to run at shutdown. Unlike the existing API, this 2011-04-08 22:19:52 +00:00
ThreadSanitizer.cpp [tsan] fix compiler warnings 2012-02-14 00:52:07 +00:00