LLVM backend for 6502
Go to file
Chris Lattner ee27f57a6a Fix expansion of shifts by exactly NVT bits on arch's (like X86) that have
masking shifts.

This fixes the miscompilation of this:

long long test1(unsigned A, unsigned B) {
        return ((unsigned long long)A << 32) | B;
}

into this:

test1:
        movl 4(%esp), %edx
        movl %edx, %eax
        orl 8(%esp), %eax
        ret

allowing us to generate this instead:

test1:
        movl 4(%esp), %edx
        movl 8(%esp), %eax
        ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21230 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-11 20:08:52 +00:00
autoconf Recognize an IA64 when we see one 2005-03-17 20:56:22 +00:00
docs * Put command-line switches and function names in <tt> 2005-03-30 19:14:24 +00:00
examples add missing copyright header 2005-03-15 15:46:23 +00:00
include/llvm rename addU64Imm() to addImm64() 2005-04-11 07:14:41 +00:00
lib Fix expansion of shifts by exactly NVT bits on arch's (like X86) that have 2005-04-11 20:08:52 +00:00
projects Rename createPromoteMemoryToRegister() to 2005-03-28 02:01:12 +00:00
runtime Fix grammar 2005-03-23 21:14:33 +00:00
test fix this testcase so the regex doesn't match the function name 2005-04-10 20:45:35 +00:00
tools Ensure that the arguments passed to sys::Program::ExecuteAndWait include 2005-04-11 05:48:04 +00:00
utils spiff up the nightly tester output one more notch 2005-03-17 16:07:45 +00:00
win32 Do #include HashExtras.h with VC++ 2005-03-16 05:49:58 +00:00
.cvsignore Ignore the autom4te.cache directoy. 2004-12-24 15:11:23 +00:00
configure Recognize an IA64 when we see one 2005-03-17 20:56:22 +00:00
CREDITS.TXT Updating my entry. 2005-03-22 21:33:19 +00:00
LICENSE.TXT Another year, another copyright update. 2005-01-08 19:10:44 +00:00
llvm.spec
llvm.spec.in
Makefile Remove the check target. Its now in Makefile.rules 2004-12-06 05:35:00 +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 For PR528: 2005-02-24 03:56:32 +00:00
Makefile.rules * Remove extraneous spaces 2005-03-11 04:15:18 +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.