LLVM backend for 6502
Go to file
Chris Lattner 3ffdff6448 Fix a scary bug with signed division by a power of two. We used to generate:
s:   ;; X / 4
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %ECX, %EAX
        sar %ECX, 1
        shr %ECX, 30
        mov %EDX, %EAX
        add %EDX, %ECX
        sar %EAX, 2
        ret

When we really meant:

s:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %ECX, %EAX
        sar %ECX, 1
        shr %ECX, 30
        add %EAX, %ECX
        sar %EAX, 2
        ret

Hey, this also reduces register pressure too :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-06 04:19:43 +00:00
autoconf Add checks for the ZLIB and BZIP2 header files, not just the libraries. 2004-10-04 22:05:53 +00:00
docs Fix the path to the fixinc'd headers. Patch contributed by Jeff Cohen! 2004-10-06 03:13:47 +00:00
examples Build BFtoLLVM example front-end by default 2004-10-05 18:05:53 +00:00
include/llvm Fix #include flavor 2004-10-04 18:10:18 +00:00
lib Fix a scary bug with signed division by a power of two. We used to generate: 2004-10-06 04:19:43 +00:00
projects Stacker compiler library doesn't need to be shared and it can cause 2004-09-15 06:22:54 +00:00
runtime Disable libprofile as it breaks the build on Sparc (autoconf issues). 2004-09-08 20:30:26 +00:00
test When tail duplicating these functions, the add instruction should not be 2004-10-06 03:26:38 +00:00
tools Hrm, if there is an error loading a file, try printing a message so the 2004-09-27 16:41:01 +00:00
utils Correctly parse variant notation 2004-10-03 20:19:02 +00:00
.cvsignore Ok, try #2, this time I'll not be stupid 2003-08-03 18:33:24 +00:00
configure Add checks for the ZLIB and BZIP2 header files, not just the libraries. 2004-10-04 22:05:53 +00:00
CREDITS.TXT Update email address 2004-09-23 04:39:30 +00:00
LICENSE.TXT Adjust the license files based on the actual content of llvm and llvm-test 2004-09-16 16:41:31 +00:00
llvm.spec Updated for 1.3. 2004-08-16 15:17:40 +00:00
llvm.spec.in Updated for 1.3. 2004-08-16 15:17:40 +00:00
Makefile Changed the distclean target to handle the new location of config.h. 2004-09-17 15:08:25 +00:00
Makefile.common Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.config.in Fix typo in makefile variable name that prevents zlib from being recognized 2004-10-04 17:49:19 +00:00
Makefile.rules Provide support for auto-detection and use of compression libraries. 2004-10-04 07:05:07 +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.