LLVM backend for 6502
Go to file
Evan Cheng 0490dcb1b7 Add a smarter heuristic to determine when to coalesce a virtual register with a physical one. More specifically, it avoid tying a virtual register in the loop with a physical register defined / used outside the loop. When it determines it's not profitable, it will use the physical register as the allocation preference instead.
This is *not* turned on by default. Testing indicates this is just as likely to pessimize code. The main issue seems to be allocation preference doesn't work effectively. That will change once I've taught register allocator "swapping".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70503 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30 18:39:57 +00:00
autoconf
bindings Fix the JIT bindings for ocaml. 2009-04-30 00:43:39 +00:00
cmake
docs Second attempt: 2009-04-29 00:15:41 +00:00
examples
include Make dataflow iteration possible on Value*, not only on User*: df_ext_iterator<Value*, SmallPtrSet<const Value*, 16> > 2009-04-30 17:09:22 +00:00
lib Add a smarter heuristic to determine when to coalesce a virtual register with a physical one. More specifically, it avoid tying a virtual register in the loop with a physical register defined / used outside the loop. When it determines it's not profitable, it will use the physical register as the allocation preference instead. 2009-04-30 18:39:57 +00:00
projects
runtime
test Don't try to mix integers and pointers in an icmp instruction 2009-04-30 16:40:30 +00:00
tools Allow a user of libLTO to specify the full pathname of the gcc executable to 2009-04-30 15:24:09 +00:00
unittests
utils Rename the CurMultiClass formal parameter of TGParser::AddSubMultiClass 2009-04-30 18:26:19 +00:00
website
win32
Xcode
build-for-llvm-top.sh
CMakeLists.txt
configure
CREDITS.TXT Initial test commit 2009-04-28 06:15:00 +00:00
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
ModuleInfo.txt
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.