LLVM backend for 6502
Go to file
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
autoconf
bindings
cmake Minimal changes for LLVM to compile under VS11. 2012-03-01 22:42:52 +00:00
docs
examples
include Add a header that was technically missing to see if this gets the 2012-03-02 09:46:02 +00:00
lib ASan: use getTypeAllocSize instead of getTypeStoreSize. 2012-03-02 10:41:08 +00:00
projects
runtime
test Prevent obscure and incorrect tail-call optimization. 2012-03-02 02:50:46 +00:00
tools [Object] 2012-03-01 22:19:54 +00:00
unittests Add a golden data test that I missed somehow the first time around. 2012-03-02 10:01:29 +00:00
utils Move getSubRegIndex out of generated code into MCRegisterInfo, devirtualize it. 2012-03-01 18:16:35 +00:00
.gitignore
CMakeLists.txt
configure
CREDITS.TXT Add myself to the credits file 2012-02-29 16:43:11 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.