LLVM backend for 6502
Go to file
Reid Spencer a16d5a5185 This is a cleanup commit:
* Correct stale documentation in a few places
* Re-order the file to better associate things and reduce line count
* Make the pass thread safe by caching the Function* objects needed by the
  optimizers in the pass object instead of globally.
* Provide the SimplifyLibCalls pass object to the optimizer classes so they
  can access cached Function* objects and TargetData info
* Make sure the pass resets its cache if the Module passed to runOnModule
  changes
* Rename CallOptimizer LibCallOptimization. All the classes are named
  *Optimization while the objects are *Optimizer.
* Don't cache Function* in the optimizer objects because they could be used
  by multiple PassManager's running in multiple threads
* Add an optimization for strcpy which is similar to strcat
* Add a "TODO" list at the end of the file for ideas on additional libcall
  optimizations that could be added (get ideas from other compilers).

Sorry for the huge diff. Its mostly reorganization of code. That won't
happen again as I believe the design and infrastructure for this pass is
now done or close to it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21589 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-27 07:54:40 +00:00
autoconf Build the `Skeleton' target when building "all" targets 2005-04-22 18:00:34 +00:00
docs no parens 2005-04-26 22:57:07 +00:00
examples Convert tabs to spaces 2005-04-22 03:18:56 +00:00
include/llvm Add SimplyLibCalls.cpp to VC++ build 2005-04-26 02:57:49 +00:00
lib This is a cleanup commit: 2005-04-27 07:54:40 +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 Test the noreturn function optimization 2005-04-27 04:51:01 +00:00
tools Add the simplify-libcalls pass. 2005-04-27 02:22:47 +00:00
utils A first step towards being able to do more interesting things with the nightly tester data. Moreinteresting things will come soon, so tune in 2005-04-27 02:13:20 +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 Updated for 1.3. 2004-08-16 15:17:40 +00:00
llvm.spec.in Updated for 1.3. 2004-08-16 15:17:40 +00:00
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 Make the text of this file a little more useful. 2004-09-02 22:49:27 +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.