LLVM backend for 6502
Go to file
Chris Lattner b14ab8a10d Teach the dag combiner to turn a truncate/sign_extend pair into a sextinreg
when the types match up.  This allows the X86 backend to compile:

sbyte %toggle_value(sbyte* %tmp.1) {
        %tmp.2 = load sbyte* %tmp.1
        ret sbyte %tmp.2
}

to this:

_toggle_value:
        mov %EAX, DWORD PTR [%ESP + 4]
        movsx %EAX, BYTE PTR [%EAX]
        ret

instead of this:

_toggle_value:
        mov %EAX, DWORD PTR [%ESP + 4]
        movsx %EAX, BYTE PTR [%EAX]
        movsx %EAX, %AL
        ret

noticed in Shootout/objinst.

-Chris


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24630 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-07 07:11:03 +00:00
autoconf add malloc_zone_statistics, remove mstats 2005-11-14 07:24:17 +00:00
docs attribute((used)) is now supported 2005-12-05 05:23:06 +00:00
examples When a function takes a variable number of pointer arguments, with a zero 2005-10-23 04:37:20 +00:00
include/llvm Remove a now-dead map, patch by Saem Ghani, thanks! 2005-12-07 05:41:44 +00:00
lib Teach the dag combiner to turn a truncate/sign_extend pair into a sextinreg 2005-12-07 07:11:03 +00:00
projects unbreak the build again 2005-10-27 16:30:44 +00:00
runtime Add the remove() function from the C library. 2005-11-28 15:49:15 +00:00
test new testcase for PR662 2005-12-06 17:29:54 +00:00
tools This solves the problem of the CBE renaming symbols that start with . but the assembly side still trying to reference them by their old names. Should be safe untill we hit a language front end that lets you specify such a name. 2005-12-06 20:51:30 +00:00
utils * Infer instruction property hasCtrlDep from pattern if it has one. 2005-12-05 23:08:55 +00:00
win32 Teach Visual Studio about new files. 2005-11-28 06:46:36 +00:00
Xcode Remove the lowerconstantexprs pass 2005-10-29 05:34:40 +00:00
.cvsignore Ignore the configure.out file generated by "make reconfigure" 2005-06-18 23:01:25 +00:00
configure regenearte 2005-11-14 07:25:50 +00:00
CREDITS.TXT add Evan and Jim. Please edit your entries as desired. 2005-11-29 00:57:06 +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 Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in Two changes: 2005-04-22 17:14:14 +00:00
Makefile.rules Move some constant folding code shared by Analysis and Transform passes 2005-10-27 15:54:34 +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.