LLVM backend for 6502
Go to file
Chris Lattner 40c62d5069 Fold (select C, load A, load B) -> load (select C, A, B). This happens quite
a lot throughout many programs.  In particular, specfp triggers it a bunch for
constant FP nodes when you have code like  cond ? 1.0 : -1.0.

If the PPC ISel exposed the loads implicit in pic references to external globals,
we would be able to eliminate a load in cases like this as well:

%X = external global int
%Y = external global int
int* %test4(bool %C) {
        %G = select bool %C, int* %X, int* %Y
        ret int* %G
}

Note that this breaks things that use SrcValue's (see the fixme), but since nothing
uses them yet, this is ok.

Also, simplify some code to use hasOneUse() on an SDOperand instead of hasNUsesOfValue directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23781 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18 06:04:22 +00:00
autoconf For PR619: 2005-08-24 10:43:10 +00:00
docs Apparently, people object to floating pointers. Picky picky. 2005-10-17 15:19:24 +00:00
examples For PR616: 2005-08-24 10:07:20 +00:00
include/llvm Fix errors when compiling with -pedantic 2005-10-14 00:33:05 +00:00
lib Fold (select C, load A, load B) -> load (select C, A, B). This happens quite 2005-10-18 06:04:22 +00:00
projects Implement PR614: 2005-08-27 18:50:39 +00:00
runtime
test Use %s instead of hard coding the input filename. 2005-10-17 21:54:18 +00:00
tools Speed up isBytecodeLPath from 20s to .01s in common cases. This makes -native 2005-09-23 06:11:24 +00:00
utils Duraid pointed out that it is impolite to emit PPC:: into the IA64 backend 2005-10-18 04:41:01 +00:00
win32 Fix VC++ build errors. 2005-09-25 19:04:43 +00:00
Xcode Added targets to speed up build of llc. 2005-09-09 17:50:20 +00:00
.cvsignore Ignore the configure.out file generated by "make reconfigure" 2005-06-18 23:01:25 +00:00
configure For PR616: 2005-08-24 10:07:20 +00:00
CREDITS.TXT Add a note, people are responsible for requesting that they be added to the 2005-08-02 22:10:21 +00:00
LICENSE.TXT Remove extraneous colons after program names for consistency 2005-05-12 21:39:01 +00:00
llvm.spec Onward to LLVM-1.6 and beyond! 2005-05-18 20:23:20 +00:00
llvm.spec.in Onward to LLVM-1.6 and beyond! 2005-05-18 20:23:20 +00:00
Makefile For PR614: 2005-08-25 04:59:49 +00:00
Makefile.common
Makefile.config.in Two changes: 2005-04-22 17:14:14 +00:00
Makefile.rules Make sure targets depend on TargetSelectionDAG.td 2005-10-14 06:31:58 +00:00
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.