LLVM backend for 6502
Go to file
Jakob Stoklund Olesen bbf33b38aa Mostly rewrite RegAllocFast.
Sorry for the big change. The path leading up to this patch had some TableGen
changes that I didn't want to commit before I knew they were useful. They
weren't, and this version does not need them.

The fast register allocator now does no liveness calculations. Instead it relies
on kill flags provided by isel. (Currently those kill flags are also ignored due
to isel bugs). The allocation algorithm is supposed to work with any subset of
valid kill flags. More kill flags simply means fewer spills inserted.

Registers are allocated from a working set that contains no aliases. That means
most allocations can be done directly without expensive alias checks. When the
working set runs out of registers we do the full alias check to find new free
registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-11 18:54:45 +00:00
autoconf Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
bindings add attributes and module level asm to the ocaml bindings, 2010-04-10 17:52:58 +00:00
cmake Tell Valgrind when we modify already-executed machine code so it knows 2010-03-15 04:57:55 +00:00
docs Test commit. 2010-05-11 17:22:45 +00:00
examples Remove the -enable-sjlj-eh option, which doesn't do anything. 2010-05-02 15:36:26 +00:00
include Fix a comment. 2010-05-11 18:03:41 +00:00
lib Mostly rewrite RegAllocFast. 2010-05-11 18:54:45 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime Delete a blank line. 2010-04-16 13:32:55 +00:00
test Mostly rewrite RegAllocFast. 2010-05-11 18:54:45 +00:00
tools Extended the edis "IsBranch" property to call 2010-05-11 01:27:08 +00:00
unittests Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp, 2010-04-30 20:50:28 +00:00
utils Fixes for Microsoft Visual Studio 2010, from Steven Watanabe! 2010-05-11 06:17:44 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt CMake: Add options for using static runtime on MSVC++ build. 2010-03-18 13:52:05 +00:00
configure Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile Update for CIndex rename. 2010-04-30 23:36:47 +00:00
Makefile.common
Makefile.config.in Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
Makefile.rules Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
ModuleInfo.txt
README.txt Give packagers some advice about how to build LLVM so it's useful to 2010-02-26 00:54:42 +00:00

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.