llvm-6502/lib
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
..
Analysis Duncan pointed out that if the alignment isn't explicitly specified, it defaults to the ABI alignment. Given that, make this code a bit more aggressive in such cases. 2012-02-27 23:16:46 +00:00
Archive Avoid using an invalidated iterator. 2012-01-23 05:07:16 +00:00
AsmParser Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Bitcode BitstreamWriter: Change primary output buffer to be a SmallVector instead of an 2012-02-29 20:31:09 +00:00
CodeGen Grammar-o in function name. 2012-03-02 02:11:47 +00:00
DebugInfo More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
ExecutionEngine Fixed the 32-bit runtime dynamic loader to allocate 2012-03-01 00:15:29 +00:00
Linker Oops...Don't commit the other stuff.. 2012-02-28 04:01:21 +00:00
MC Make MemoryObject accessor members const again 2012-02-29 01:09:06 +00:00
Object [Object] 2012-03-01 22:19:54 +00:00
Support Switch FoldingSet over to the new hashing infrastructure. We might want 2012-03-01 23:18:44 +00:00
TableGen Remove stray semi-colon. 2012-02-28 15:35:52 +00:00
Target Prevent obscure and incorrect tail-call optimization. 2012-03-02 02:50:46 +00:00
Transforms ASan: use getTypeAllocSize instead of getTypeStoreSize. 2012-03-02 10:41:08 +00:00
VMCore Rewrite LLVM's generalized support library for hashing to follow the API 2012-03-01 18:55:25 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00