LLVM backend for 6502
Go to file
Chris Lattner d41ae8bc0c Replace the SSA update code in LCSSA with a bottom-up approach instead of a top
down approach, inspired by discussions with Tanya.

This approach is significantly faster, because it does not need dominator
frontiers and it does not insert extraneous unused PHI nodes.  For example, on
252.eon, in a release-asserts build, this speeds up LCSSA (which is the slowest
pass in gccas) from 9.14s to 0.74s on my G5.  This code is also slightly smaller
and significantly simpler than the old code.

Amusingly, in a normal Release build (which includes the
"assert(L->isLCSSAForm());" assertion), asserting that the result of LCSSA
is in LCSSA form is actually slower than the LCSSA transformation pass
itself on 252.eon.  I will see if Loop::isLCSSAForm can be sped up next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29463 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 00:06:09 +00:00
autoconf Fix the --with-extra-options to use the correct variable. 2006-07-28 22:50:07 +00:00
docs Fix HTML 4.01 Strict errors. 2006-08-01 16:23:54 +00:00
examples WriteBytecodeToFile actually can't throw. 2006-07-28 22:08:23 +00:00
include/llvm Add dominates/properlyDominates queries to IDom. 2006-08-01 22:24:47 +00:00
lib Replace the SSA update code in LCSSA with a bottom-up approach instead of a top 2006-08-02 00:06:09 +00:00
projects Stacker uses EH. 2006-07-07 00:20:39 +00:00
runtime Reverted previous commit. Thanks, Chris. 2006-07-28 18:30:52 +00:00
test If dejagnu is not found, tell the user instead of bombing out with an 2006-08-01 00:07:58 +00:00
tools Fix the build on case-sensitive filesystems :( 2006-08-01 22:34:35 +00:00
utils Fix a problem with use of undefined variables. Print an error message if 2006-08-01 08:09:03 +00:00
win32 Keep Visual Studio happy. 2006-05-03 00:28:50 +00:00
Xcode Bring the Xcode project up to date. 2006-07-13 22:17:58 +00:00
.cvsignore Ignore stuff built by "make dist". 2006-04-07 15:55:18 +00:00
configure Fix the --with-extra-options to use the correct variable. 2006-07-28 22:50:07 +00:00
CREDITS.TXT Update my entry. 2006-08-01 16:52:07 +00:00
LICENSE.TXT Changing domain name 2006-04-20 05:51:53 +00:00
llvm.spec For PR723: 2006-04-07 16:07:37 +00:00
llvm.spec.in For PR723: 2006-04-07 16:07:37 +00:00
Makefile Revamp this to use filter-out, which makes the logic simpler and not nested. 2006-07-26 19:10:34 +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 PR848: 2006-07-28 05:05:00 +00:00
Makefile.rules Pass -fstrict-aliasing to the compiler when building a release build on darwin. 2006-07-27 18:19:51 +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.