LLVM backend for 6502
Go to file
Evan Cheng 81a0382181 Live interval splitting:
When a live interval is being spilled, rather than creating short, non-spillable
intervals for every def / use, split the interval at BB boundaries. That is, for
every BB where the live interval is defined or used, create a new interval that
covers all the defs and uses in the BB.

This is designed to eliminate one common problem: multiple reloads of the same
value in a single basic block. Note, it does *not* decrease the number of spills
since no copies are inserted so the split intervals are *connected* through
spill and reloads (or rematerialization). The newly created intervals can be
spilled again, in that case, since it does not span multiple basic blocks, it's
spilled in the usual manner. However, it can reuse the same stack slot as the
previously split interval.

This is currently controlled by -split-intervals-at-bb.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44198 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-17 00:40:40 +00:00
autoconf Fixing a typo in configure.ac. 2007-10-03 12:06:41 +00:00
bindings Fix ocaml bindings for picky linkers. :) 2007-10-12 19:48:13 +00:00
docs These were implemented 2007-11-16 11:12:01 +00:00
examples add a new BF->LLVM translator, contributed by Sterling Stein. 2007-09-12 18:24:00 +00:00
include Live interval splitting: 2007-11-17 00:40:40 +00:00
lib Live interval splitting: 2007-11-17 00:40:40 +00:00
projects Convert .cvsignore files 2007-06-29 16:35:07 +00:00
runtime GarbageCollection.html is expanded to encompass the coming 2007-09-27 19:31:36 +00:00
test Typo. 2007-11-16 23:55:08 +00:00
tools Allow the block extractor take to take a list of basic blocks to not extract 2007-11-14 06:47:06 +00:00
utils Eliminate the recently introduced CCAssignToStackABISizeAlign 2007-11-14 08:29:13 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Updated VC++ build system 2007-11-13 23:03:32 +00:00
Xcode Removing a dead reference from LLVM.xcodeproj. 2007-11-04 16:12:17 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
configure Regenerate. 2007-10-03 12:07:14 +00:00
CREDITS.TXT Adding myself 2007-10-11 18:54:49 +00:00
LICENSE.TXT Import the boost scoped_ptr class to LLVM. This patch was prepared by 2007-11-15 05:57:06 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Adding ocaml language bindings for the vmcore and bitwriter libraries. These are 2007-09-18 12:49:39 +00:00
Makefile.common Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in Providing --with-ocaml-libdir for ./configure. The default is the 2007-10-02 16:42:10 +00:00
Makefile.rules noone uses etags. Connected to PR1601 2007-09-26 06:10:47 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49:25 +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.