llvm-6502/lib/Transforms
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
..
Hello
InstCombine Restrict this transformation to equality conditions. 2012-02-29 01:46:50 +00:00
Instrumentation ASan: use getTypeAllocSize instead of getTypeStoreSize. 2012-03-02 10:41:08 +00:00
IPO Plog a memleak in GlobalOpt. 2012-02-27 12:48:24 +00:00
Scalar Fix an iterator invalidation problem. operator[] on a DenseMap 2012-03-02 01:26:46 +00:00
Utils Add support for disabling llvm.lifetime intrinsics in the AlwaysInliner. These 2012-02-25 02:56:01 +00:00
Vectorize Update BBVectorize to use aliasesUnknownInst. 2012-02-10 15:52:40 +00:00
CMakeLists.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
LLVMBuild.txt Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00
Makefile Add a basic-block autovectorization pass. 2012-02-01 03:51:43 +00:00