LLVM backend for 6502
Go to file
Evan Cheng c781a243a3 In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all.
VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants.

Not yet enabled. This is part 1. More coming.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70787 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03 18:32:42 +00:00
autoconf Dummy MSP430 backend 2009-05-03 12:57:15 +00:00
bindings Fix the JIT bindings for ocaml. 2009-04-30 00:43:39 +00:00
cmake CMake: Added notes pointing to the LLVM CMake documentation. 2009-04-04 22:52:02 +00:00
docs HTML-escape '>' as '>' in sample C++ code. 2009-05-01 20:40:51 +00:00
examples silence a warning. 2009-04-15 00:16:05 +00:00
include In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. 2009-05-03 18:32:42 +00:00
lib In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. 2009-05-03 18:32:42 +00:00
projects
runtime
test Previously, RecursivelyDeleteDeadInstructions provided an option 2009-05-02 18:29:22 +00:00
tools Fix a compiler warning on hosts where uint64_t isn't unsigned long long. 2009-05-01 16:33:33 +00:00
unittests Apply Jeffrey Yasskin's CallbackVH patch, with minor tweaks from me 2009-05-02 21:10:48 +00:00
utils Make DebugLoc independent of DwarfWriter. 2009-04-30 23:22:31 +00:00
website
win32 Update hand-crafted VC++ build. 2009-02-02 19:22:02 +00:00
Xcode
build-for-llvm-top.sh
CMakeLists.txt CMake: Added notes pointing to the LLVM CMake documentation. 2009-04-04 22:52:02 +00:00
configure Regenerate 2009-05-03 13:42:23 +00:00
CREDITS.TXT Initial test commit 2009-04-28 06:15:00 +00:00
LICENSE.TXT Another great year for LLVM! 2009-02-26 15:17:13 +00:00
llvm.spec.in
Makefile Lets install the manual page with install-clang! Radar 6838692 2009-05-01 01:47:55 +00:00
Makefile.common
Makefile.config.in Add a --enable-profiling option to configure to build Debug+Profile and 2009-04-17 14:49:22 +00:00
Makefile.rules Support --with-llvmgccdir and friends in llvmc, take 2. 2009-04-21 19:46:10 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
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.