LLVM backend for 6502
Go to file
Chandler Carruth bc4021f31e Address one of the original FIXMEs for the new SROA pass by implementing
integer promotion analogous to vector promotion. When there is an
integer alloca being accessed both as its integer type and as a narrower
integer type, promote the narrower access to "insert" and "extract" the
smaller integer from the larger one, and make the integer alloca
a candidate for promotion.

In the new formulation, we don't care about target legal integer or use
thresholds to control things. Instead, we only perform this promotion to
an integer type which the frontend has already emitted a load or store
for. This bounds the scope and prevents optimization passes from
coalescing larger and larger entities into a single integer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164479 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24 00:34:20 +00:00
autoconf Add an --enable-backtraces option to configure to determine 2012-09-21 23:03:29 +00:00
bindings
cmake CMake toolchain file for Android NDK. 2012-09-11 11:54:27 +00:00
docs docs: Fix long-standing typo in yaml2obj.rst. 2012-09-21 19:48:16 +00:00
examples
include Add LLVM_OVERRIDE to methods that override their base classes. 2012-09-23 02:12:10 +00:00
lib Address one of the original FIXMEs for the new SROA pass by implementing 2012-09-24 00:34:20 +00:00
projects [CMake] Respect LLVM_BUILD_RUNTIME. 2012-09-21 22:49:06 +00:00
runtime
test Address one of the original FIXMEs for the new SROA pass by implementing 2012-09-24 00:34:20 +00:00
tools Make sure lli compiles all code before invalidating instruction caches. 2012-09-20 08:46:30 +00:00
unittests This patch adds memory support functions which will later be used to implement section-specific protection handling in MCJIT. 2012-09-19 20:46:12 +00:00
utils Machine Model (-schedmodel only). Added SchedAliases. 2012-09-22 02:24:21 +00:00
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure Add an --enable-backtraces option to configure to determine 2012-09-21 23:03:29 +00:00
CREDITS.TXT
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.