LLVM backend for 6502
Go to file
Chris Lattner ca0a4778a8 Minor tweak to the branch selector. When emitting a two-way branch, and if
we're in a single-mbb loop, make sure to emit the backwards branch as the
conditional branch instead of the uncond branch.  For example, emit this:

LBBl29_z__44:
        stw r9, 0(r15)
        stw r9, 4(r15)
        stw r9, 8(r15)
        stw r9, 12(r15)
        addi r15, r15, 16
        addi r8, r8, 1
        cmpw cr0, r8, r28
        ble cr0, LBBl29_z__44
        b LBBl29_z__48                   *** NOT PART OF LOOP

Instead of:

LBBl29_z__44:
        stw r9, 0(r15)
        stw r9, 4(r15)
        stw r9, 8(r15)
        stw r9, 12(r15)
        addi r15, r15, 16
        addi r8, r8, 1
        cmpw cr0, r8, r28
        bgt cr0, LBBl29_z__48            *** PART OF LOOP!
        b LBBl29_z__44

The former sequence has one fewer dispatch group for the loop body.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23582 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-01 23:06:26 +00:00
autoconf For PR619: 2005-08-24 10:43:10 +00:00
docs Update the discussion of TargetRegisterDesc 2005-09-30 17:46:55 +00:00
examples For PR616: 2005-08-24 10:07:20 +00:00
include/llvm Annotate nodes with their addresses if a graph requests it. 2005-10-01 00:19:21 +00:00
lib Minor tweak to the branch selector. When emitting a two-way branch, and if 2005-10-01 23:06:26 +00:00
projects Implement PR614: 2005-08-27 18:50:39 +00:00
runtime
test more specific tests of subtarget stuff 2005-09-30 20:30:24 +00:00
tools Speed up isBytecodeLPath from 20s to .01s in common cases. This makes -native 2005-09-23 06:11:24 +00:00
utils Rename MRegisterDesc -> TargetRegisterDesc for consistency 2005-09-30 17:49:27 +00:00
win32 Fix VC++ build errors. 2005-09-25 19:04:43 +00:00
Xcode Added targets to speed up build of llc. 2005-09-09 17:50:20 +00:00
.cvsignore Ignore the configure.out file generated by "make reconfigure" 2005-06-18 23:01:25 +00:00
configure For PR616: 2005-08-24 10:07:20 +00:00
CREDITS.TXT Add a note, people are responsible for requesting that they be added to the 2005-08-02 22:10:21 +00:00
LICENSE.TXT Remove extraneous colons after program names for consistency 2005-05-12 21:39:01 +00:00
llvm.spec Onward to LLVM-1.6 and beyond! 2005-05-18 20:23:20 +00:00
llvm.spec.in Onward to LLVM-1.6 and beyond! 2005-05-18 20:23:20 +00:00
Makefile For PR614: 2005-08-25 04:59:49 +00:00
Makefile.common
Makefile.config.in Two changes: 2005-04-22 17:14:14 +00:00
Makefile.rules allow for a target to ask for a dag isel 2005-09-03 01:15:25 +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.