LLVM backend for 6502
Go to file
Reid Spencer b7c11e3966 Post-Review Cleanup:
* Fix comments at top of file
* Change algorithm for running the call optimizations from n*n to something
  closer to n.
* Use a hash_map to store and lookup the optimizations since there will
  eventually (or potentially) be a large number of them. This gets lookup
  based on the name of the function to O(1). Each CallOptimizer now has a
  std::string member named func_name that tracks the name of the function
  that it applies to. It is this string that is entered into the hash_map
  for fast comparison against the function names encountered in the module.
* Cleanup some style issues pertaining to iterator invalidation
* Don't pass the Function pointer to the OptimizeCall function because if
  the optimization needs it, it can get it from the CallInst passed in.
* Add the skeleton for a new CallOptimizer, StrCatOptimizer which will
  eventually replace strcat's of constant strings with direct copies.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21526 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-25 03:59:26 +00:00
autoconf Build the `Skeleton' target when building "all" targets 2005-04-22 18:00:34 +00:00
docs fix some bugs 2005-04-25 00:38:52 +00:00
examples Convert tabs to spaces 2005-04-22 03:18:56 +00:00
include/llvm Shut GCC 4.0 up about classes that have virtual functions but a non-virtual 2005-04-25 02:55:55 +00:00
lib Post-Review Cleanup: 2005-04-25 03:59:26 +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 Use the %name rather than the "name" format so those familiar with the 2005-04-25 03:18:19 +00:00
tools extract has been renamed to llvm-extract to avoid conflicting with another tool 2005-04-24 17:46:58 +00:00
utils elisp code to help with LLVM code standards compliance 2005-04-24 17:09:19 +00:00
win32 Add CondPropagate.cpp to VC++ Transforms project 2005-04-16 02:51:44 +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.