LLVM backend for 6502
Go to file
Chris Lattner e6987587d6 enhance the load/store narrowing optimization to handle a
tokenfactor in between the load/store.  This allows us to 
optimize test7 into:

_test7:                                 ## @test7
## BB#0:                                ## %entry
	movl	(%rdx), %eax
                                        ## kill: SIL<def> ESI<kill>
	movb	%sil, 5(%rdi)
	ret

instead of:

_test7:                                 ## @test7
## BB#0:                                ## %entry
	movl	4(%esp), %ecx
	movl	$-65281, %eax           ## imm = 0xFFFFFFFFFFFF00FF
	andl	4(%ecx), %eax
	movzbl	8(%esp), %edx
	shll	$8, %edx
	addl	%eax, %edx
	movl	12(%esp), %eax
	movl	(%eax), %eax
	movl	%edx, 4(%ecx)
	ret



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101355 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 06:10:49 +00:00
autoconf configure: Fix default value for optimize_option, I messed up the test condition 2010-04-10 18:56:24 +00:00
bindings add attributes and module level asm to the ocaml bindings, 2010-04-10 17:52:58 +00:00
cmake Tell Valgrind when we modify already-executed machine code so it knows 2010-03-15 04:57:55 +00:00
docs checkpoint. 2010-04-13 06:37:00 +00:00
examples Fix the ocaml kaleidoscope tutorial to fix linking external libraries. 2010-03-21 23:15:13 +00:00
include Add more const qualifiers for LLVM IR pointers in CodeGen. 2010-04-15 04:33:49 +00:00
lib enhance the load/store narrowing optimization to handle a 2010-04-15 06:10:49 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime suck the propagating "has dynamic libs" check into a single makefile 2010-04-09 20:51:47 +00:00
test enhance the load/store narrowing optimization to handle a 2010-04-15 06:10:49 +00:00
tools Remove unnecessary uses of <iostream>. 2010-04-15 03:47:24 +00:00
unittests Update unittest for allocator laziness. 2010-04-13 15:01:26 +00:00
utils Remove unnecessary uses of <iostream>. 2010-04-15 03:47:24 +00:00
website
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Add options for using static runtime on MSVC++ build. 2010-03-18 13:52:05 +00:00
configure configure: Fix default value for optimize_option, I messed up the test condition 2010-04-10 18:56:24 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile modernize the do-all-for-me target to run lit 2010-03-21 22:23:02 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in whether we enable dylibs or not depends on the host, not the target. 2010-04-12 02:21:38 +00:00
Makefile.rules Second try of initial ARM/Thumb disassembler check-in. It consists of a tablgen 2010-04-02 22:27:38 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt Give packagers some advice about how to build LLVM so it's useful to 2010-02-26 00:54:42 +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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.