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
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
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
configure let configure recognize Alphas 2005-01-24 17:25:41 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
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.