LLVM backend for 6502
Go to file
Chris Lattner d9c3a0d7cc Various passes before isel split edges and do other CFG-restructuring changes.
isel has its own particular features that it wants in the CFG, in order to
reduce the number of times a constant is computed, etc.  Make sure that we
clean up the CFG before doing any other things for isel.  Doing so can
dramatically reduce the number of split edges and reduce the number of
places that constants get computed.  For example, this shrinks
CodeGen/Generic/phi-immediate-factoring.ll from 44 to 37 instructions on X86,
and from 21 to 17 MBB's in the output.  This is primarily a code size win,
not a performance win.

This implements CodeGen/Generic/phi-immediate-factoring.ll and PR1296.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35575 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 01:35:34 +00:00
autoconf For PR1283: 2007-03-29 15:37:57 +00:00
docs Fix some bswap typos that Chris noticed. 2007-04-02 00:19:52 +00:00
examples Revert last patch. The examples build now. 2007-03-06 17:26:14 +00:00
include add range version of insert() 2007-04-02 01:21:19 +00:00
lib Various passes before isel split edges and do other CFG-restructuring changes. 2007-04-02 01:35:34 +00:00
projects avoid collision with /usr/bin/sample if this ever gets installed. 2007-02-18 03:03:41 +00:00
runtime crtend is only for llvm-gcc3, remove it. 2007-02-23 19:34:09 +00:00
test new testcase for PR1296 2007-04-02 01:32:59 +00:00
tools Regenerate 2007-04-02 01:14:00 +00:00
utils For PR1297: 2007-04-01 07:20:02 +00:00
win32 Unbreak VC++ build. 2007-04-01 18:58:22 +00:00
Xcode Update project 2007-01-29 18:45:08 +00:00
.cvsignore Add llvm.spec, a generated file. 2006-10-18 19:23:56 +00:00
configure Regenerate for PR1283 fix. 2007-03-29 15:38:33 +00:00
CREDITS.TXT Add Roman to credits 2007-03-21 21:45:25 +00:00
LICENSE.TXT remove these. 2007-02-25 02:28:21 +00:00
llvm.spec.in Minor technical correction in documentation. 2006-08-21 01:58:57 +00:00
Makefile don't build runtime for now, ever 2007-03-29 18:14:00 +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 For PR789: 2007-03-29 19:05:44 +00:00
Makefile.rules For PR789: 2007-03-29 19:05:44 +00:00
README.txt Make the text of this file a little more useful. 2004-09-02 22:49:27 +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.