LLVM backend for 6502
Go to file
Chris Lattner a266197489 Switch from using an ilist for uses to using a custom doubly linked list.
This list does not provide the ability to go backwards in the list (its
more of an unordered collection, stored in the shape of a list).

This change means that use iterators are now only forward iterators, not
bidirectional.

This improves the memory usage of use lists from '5 + 4*#use' per value to
'1 + 4*#use'.  While it would be better to reduce the multiplied factor,
I'm not smart enough to do so.  This list also has slightly more efficient
operators for manipulating list nodes (a few less loads/stores), due to not
needing to be able to iterate backwards through the list.

This change reduces the memory footprint required to hold 176.gcc from
66.025M -> 57.687M, a 14% reduction.  It also speeds up the compiler,
7.73% in the case of bytecode loading alone (release build loading 176.gcc).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19956 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-01 01:22:06 +00:00
autoconf let configure recognize Alphas 2005-01-24 17:33:52 +00:00
docs Add LLVM with Visual Studio overview 2005-01-31 05:42:10 +00:00
examples Use LLVMLIBS=JIT to get JIT libraries 2004-11-29 07:17:18 +00:00
include/llvm Switch from using an ilist for uses to using a custom doubly linked list. 2005-02-01 01:22:06 +00:00
lib Fix a problem where we could infinitely recurse on phi nodes. 2005-02-01 00:18:30 +00:00
projects Update per new Makefile requirements for projects 2005-01-16 02:21:42 +00:00
runtime Hrm, who knows what 'uint' is, but it seems to work sometimes? Wierd. 2005-01-28 19:37:35 +00:00
test New testcase 2005-01-31 05:51:18 +00:00
tools clean up comments 2005-01-29 17:29:05 +00:00
utils This method takes sys::Path objects now. 2005-01-23 03:32:16 +00:00
win32 Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
.cvsignore Ignore the autom4te.cache directoy. 2004-12-24 15:11:23 +00:00
configure let configure recognize Alphas 2005-01-24 17:25:41 +00:00
CREDITS.TXT Add MMC 2004-11-18 21:04:21 +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 Make this file capable of being used by both LLVM and its projects 2005-01-16 02:20:30 +00:00
Makefile.config.in Don't confuse the LLVM_OBJ_DIR and the PROJ_OBJ_DIR because there might be 2005-01-16 06:53:48 +00:00
Makefile.rules Fix some typos in the Makefile.rules. 2005-01-28 19:52:32 +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.