LLVM backend for 6502
Go to file
Reid Spencer 58b563ce43 * Correct the function prototypes for some of the functions to match the
actual spec (int -> uint)
* Add the ability to get/cache the strlen function prototype.
* Make sure generated values are appropriately named for debugging purposes
* Add the SPrintFOptimiation for 4 casts of sprintf optimization:
    sprintf(str,cstr) -> llvm.memcpy(str,cstr) (if cstr has no %)
    sprintf(str,"")   -> store sbyte 0, str
    sprintf(str,"%s",src) -> llvm.memcpy(str,src) (if src is constant)
    sprintf(str,"%c",chr) -> store chr, str   ; store sbyte 0, str+1

The sprintf optimization didn't fire as much as I had hoped:

  2 MultiSource/Applications/SPASS
  5 MultiSource/Benchmarks/McCat/18-imp
 22 MultiSource/Benchmarks/Prolangs-C/TimberWolfMC
  1 MultiSource/Benchmarks/Prolangs-C/assembler
  6 MultiSource/Benchmarks/Prolangs-C/unix-smail
  2 MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21679 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-04 03:20:21 +00:00
autoconf Build the `Skeleton' target when building "all" targets 2005-04-22 18:00:34 +00:00
docs initial descriptions of count intrinsics 2005-05-03 18:01:48 +00:00
examples Convert tabs to spaces 2005-04-22 03:18:56 +00:00
include/llvm Implement count leading zeros (ctlz), count trailing zeros (cttz), and count 2005-05-03 17:19:30 +00:00
lib * Correct the function prototypes for some of the functions to match the 2005-05-04 03:20:21 +00:00
projects Eliminate tabs and trailing spaces 2005-04-23 21:26:11 +00:00
runtime Remove trailing whitespace 2005-04-21 23:48:37 +00:00
test Fix this test to succeed even if "strchr" is on a call instruction. 2005-05-03 17:09:38 +00:00
tools Minor clean-ups 2005-05-03 20:30:34 +00:00
utils import fix and plot multiple lines at once 2005-04-27 17:32:41 +00:00
win32 Add SimplyLibCalls.cpp to VC++ build 2005-04-26 02:57:49 +00:00
.cvsignore Ignore the autom4te.cache directoy. 2004-12-24 15:11:23 +00:00
configure Build the `Skeleton' target when building "all" targets 2005-04-22 18:00:34 +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 Two changes: 2005-04-22 17:14:14 +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.