LLVM backend for 6502
Go to file
Chris Lattner ee4ea92358 Use the new TargetLowering::ComputeNumSignBits method to eliminate
sign_extend_inreg operations.  Though ComputeNumSignBits is still rudimentary,
this is enough to compile this:

short test(short X, short x) {
  int Y = X+x;
  return (Y >> 1);
}
short test2(short X, short x) {
  int Y = (short)(X+x);
  return Y >> 1;
}

into:

_test:
        add r2, r3, r4
        srawi r3, r2, 1
        blr
_test2:
        add r2, r3, r4
        extsh r2, r2
        srawi r3, r2, 1
        blr

instead of:

_test:
        add r2, r3, r4
        srawi r2, r2, 1
        extsh r3, r2
        blr
_test2:
        add r2, r3, r4
        extsh r2, r2
        srawi r2, r2, 1
        extsh r3, r2
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28146 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-06 09:30:03 +00:00
autoconf For PR747: 2006-04-27 07:49:24 +00:00
docs Actually, semantical doesn't appear to be a word. 2006-04-26 21:03:17 +00:00
examples Minor corrections. 2006-03-24 03:11:31 +00:00
include/llvm Add some new methods for computing sign bit information. 2006-05-06 09:26:22 +00:00
lib Use the new TargetLowering::ComputeNumSignBits method to eliminate 2006-05-06 09:30:03 +00:00
projects Have the AutoRegen.sh script prompt the user for the LLVM src and obj 2006-04-18 06:27:47 +00:00
runtime Invert the tests on LLVMGCC_MAJVERS to check for value 4 instead of value 2006-04-07 21:45:23 +00:00
test new testcase 2006-05-06 09:09:47 +00:00
tools wrap long line 2006-05-04 23:35:31 +00:00
utils Attempt to get this script working on Darwin. 2006-05-03 18:16:01 +00:00
win32 Keep Visual Studio happy. 2006-05-03 00:28:50 +00:00
Xcode Misc. project changes. html + build config changes supplied by Devang. 2006-04-08 06:04:56 +00:00
.cvsignore Ignore stuff built by "make dist". 2006-04-07 15:55:18 +00:00
configure For PR747: 2006-04-27 07:49:24 +00:00
CREDITS.TXT quick update 2006-04-13 02:05:30 +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 Include the win32 and Xcode directories in the distribution. 2006-04-12 20:53:14 +00:00
Makefile.common
Makefile.config.in Fix a comment. 2006-04-09 23:39:43 +00:00
Makefile.rules Remove traces of Burg utility now that its gone and not needed. 2006-04-20 18:42:24 +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.