LLVM backend for 6502
Go to file
Evan Cheng 0b0cd9113a Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g.
x * 40
=>
shlq    $3, %rdi
leaq    (%rdi,%rdi,4), %rax

This has the added benefit of allowing more multiply to be folded into addressing mode. e.g.
a * 24 + b
=>
leaq    (%rdi,%rdi,2), %rax
leaq    (%rsi,%rax,8), %rax


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67917 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28 05:57:29 +00:00
autoconf Revert r66765 and r66766. These were causing build failures on Darwin. 2009-03-12 04:10:09 +00:00
bindings Fix a parallel make race condition by swapping the order of -I directories. 2009-03-06 00:00:58 +00:00
cmake CMake: Build system fixes for XCode. llvm-config still causes us some serious trouble, but it's less serious than it used to be 2009-03-16 22:53:26 +00:00
docs Documentation update. 2009-03-27 12:58:29 +00:00
examples reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an 2008-11-21 16:42:48 +00:00
include Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g. 2009-03-28 05:57:29 +00:00
lib Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g. 2009-03-28 05:57:29 +00:00
projects Revert r67655 and r67656, as they are breaking the build. I'm 2009-03-25 00:52:11 +00:00
runtime Drop toy GC runtime. 2009-03-02 03:46:48 +00:00
test Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g. 2009-03-28 05:57:29 +00:00
tools Documentation update. 2009-03-27 12:58:29 +00:00
unittests Converted a1.ll to unittests. 2009-03-24 21:36:09 +00:00
utils fix a few spelling errors and typos 2009-03-26 16:17:51 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Update hand-crafted VC++ build. 2009-02-02 19:22:02 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt Fix the Win32 VS2008 build: 2009-03-19 23:26:52 +00:00
configure Revert r66765 and r66766. These were causing build failures on Darwin. 2009-03-12 04:10:09 +00:00
CREDITS.TXT Adding your's truly to CREDITS.TXT 2009-01-19 15:04:29 +00:00
LICENSE.TXT Another great year for LLVM! 2009-02-26 15:17:13 +00:00
llvm.spec.in
Makefile Update to account for driver renaming. 2009-03-26 23:43:14 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Autodetect the availability of -export-dynamic in the linker. 2009-03-05 08:20:21 +00:00
Makefile.rules Fix build on MacOS 10.4 systems (suggested by Mike Smith). 2009-03-27 18:18:00 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt README.txt: test commit w/blank line appended 2009-03-23 21:00:45 +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.