LLVM backend for 6502
Go to file
Chris Lattner 5b3bbc7cd7 allow the offset of a preinc'd load to be the low-part of a global. This
produces this clever code:

_millisecs:
        lis r2, ha16(_Time.1182)
        lwzu r3, lo16(_Time.1182)(r2)
        lwz r2, 4(r2)
        addic r4, r2, 1
        addze r3, r3
        blr

instead of this:

_millisecs:
        lis r2, ha16(_Time.1182)
        la r3, lo16(_Time.1182)(r2)
        lwz r2, lo16(_Time.1182)(r2)
        lwz r3, 4(r3)
        addic r4, r3, 1
        addze r3, r2
        blr

for:

long %millisecs() {
        %tmp = load long* %Time.1182            ; <long> [#uses=1]
        %tmp1 = add long %tmp, 1                ; <long> [#uses=1]
        ret long %tmp1
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31673 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 04:53:30 +00:00
autoconf Bumping version number 2006-11-07 05:31:00 +00:00
docs Post-review changes on conversion instructions. 2006-11-09 23:03:26 +00:00
examples For PR950: 2006-10-20 07:07:24 +00:00
include/llvm Move CommonPassManagerImpl from PassManager.h to PassManager.cpp 2006-11-11 01:31:05 +00:00
lib allow the offset of a preinc'd load to be the low-part of a global. This 2006-11-11 04:53:30 +00:00
projects For PR950: 2006-11-08 06:47:33 +00:00
runtime Remove unused variable. 2006-11-03 01:58:30 +00:00
test Instruction name changes. 2006-11-11 01:04:13 +00:00
tools completely revert patrick's enhancement to bugpoint. Though it makes bugpoint 2006-11-09 06:24:56 +00:00
utils allow ptr_rc to explicitly appear in an instructions operand list, it doesn't 2006-11-10 02:01:40 +00:00
win32 Remove obsolete VS project. 2006-11-05 19:38:20 +00:00
Xcode Try again. 2006-11-05 21:21:20 +00:00
.cvsignore Add llvm.spec, a generated file. 2006-10-18 19:23:56 +00:00
configure Add a -disable-cbe-printf-a option so that the output of the C Backend 2006-11-05 17:08:18 +00:00
CREDITS.TXT The list is sorted by name. 2006-08-29 01:42:47 +00:00
LICENSE.TXT burg is gone 2006-09-11 17:28:11 +00:00
llvm.spec.in Minor technical correction in documentation. 2006-08-21 01:58:57 +00:00
Makefile Document build order dependencies. Make sure that llvm-config is built before 2006-09-04 04:27:07 +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 Get LLVMGCCARCH right regardless of the llvm-gcc version being used. 2006-11-05 20:10:16 +00:00
Makefile.rules Allow ENABLE_OPTIMIZED=0 to turn off optimization (turn on debug). 2006-11-11 00:00:31 +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.