LLVM backend for 6502
Go to file
Chris Lattner 5d056952ba optimize single MBB loops better. In particular, produce:
LBB1_57:        #bb207.i
        movl 72(%esp), %ecx
        movb (%ecx,%eax), %cl
        movl 80(%esp), %edx
        movb %cl, 1(%edx,%eax)
        incl %eax
        cmpl $143, %eax
        jne LBB1_57     #bb207.i
        jmp LBB1_64     #cond_next255.i

intead of:

LBB1_57:        #bb207.i
        movl 72(%esp), %ecx
        movb (%ecx,%eax), %cl
        movl 80(%esp), %edx
        movb %cl, 1(%edx,%eax)
        incl %eax
        cmpl $143, %eax
        je LBB1_64      #cond_next255.i
        jmp LBB1_57     #bb207.i

This eliminates a branch per iteration of the loop.  This hurted PPC
particularly, because the extra branch meant another dispatch group for each
iteration of the loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31530 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 01:03:21 +00:00
autoconf Bumping version number 2006-11-07 05:31:00 +00:00
docs Add a note about warnings from the GNU ld 2.16.X linker. 2006-11-04 00:33:42 +00:00
examples For PR950: 2006-10-20 07:07:24 +00:00
include/llvm Beautify. 2006-11-08 00:19:31 +00:00
lib optimize single MBB loops better. In particular, produce: 2006-11-08 01:03:21 +00:00
projects Don't check variables before they are set. 2006-11-05 03:58:44 +00:00
runtime Remove unused variable. 2006-11-03 01:58:30 +00:00
test scalarrepl should not split the two elements of the vsiidx array: 2006-11-07 22:42:29 +00:00
tools Fix a problem in the the last patch that subverts error message printing. 2006-11-05 19:53:08 +00:00
utils emit TIED_TO correctly 2006-11-07 01:27:55 +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
LICENSE.TXT burg is gone 2006-09-11 17:28:11 +00:00
llvm.spec.in
Makefile Document build order dependencies. Make sure that llvm-config is built before 2006-09-04 04:27:07 +00:00
Makefile.common
Makefile.config.in Get LLVMGCCARCH right regardless of the llvm-gcc version being used. 2006-11-05 20:10:16 +00:00
Makefile.rules For PR786: 2006-11-02 20:25:50 +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.