LLVM backend for 6502
Go to file
Chris Lattner 0ea70b219a Add some 64-bit logical ops.
Split imm16Shifted into a sext/zext form for 64-bit support.
Add some patterns for immediate formation.  For example, we now compile this:

static unsigned long long Y;
void test3() {
  Y = 0xF0F00F00;
}

into:

_test3:
        li r2, 3840
        lis r3, ha16(_Y)
        xoris r2, r2, 61680
        std r2, lo16(_Y)(r3)
        blr

GCC produces:

_test3:
        li r0,0
        lis r2,ha16(_Y)
        ori r0,r0,61680
        sldi r0,r0,16
        ori r0,r0,3840
        std r0,lo16(_Y)(r2)
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28883 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 22:34:10 +00:00
autoconf Added --with-extra-options=opts to specify additional options to build LLVM and run tests. 2006-06-20 22:16:32 +00:00
docs add subroutine types 2006-06-20 21:13:20 +00:00
examples Use archive libraries instead of object files for VMCore, BCReader, 2006-06-01 01:30:27 +00:00
include/llvm Fix build on old compilers 2006-06-20 15:32:17 +00:00
lib Add some 64-bit logical ops. 2006-06-20 22:34:10 +00:00
projects Don't pass target name into TargetData anymore, it is never used or needed. 2006-06-16 18:23:49 +00:00
runtime For PR786: 2006-06-01 01:55:21 +00:00
test initial implementation of ARMRegisterInfo::eliminateFrameIndex 2006-06-18 00:08:07 +00:00
tools Don't pass target name into TargetData anymore, it is never used or needed. 2006-06-16 18:23:49 +00:00
utils Rename EXTRA_FLAGS to EXTRA_OPTIONS. 2006-06-20 18:49:13 +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 Added --with-extra-options=opts to specify additional options to build LLVM and run tests. 2006-06-20 22:16:32 +00:00
CREDITS.TXT Add my most recent work. 2006-05-31 22:15:45 +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 More of PR728, don't install utils either. 2006-06-02 22:41:18 +00:00
Makefile.common
Makefile.config.in Added --with-extra-options=opts to specify additional options to build LLVM and run tests. 2006-06-20 22:16:32 +00:00
Makefile.rules Allow LLVM to be built with extra options. 2006-06-20 18:50:48 +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.