llvm-6502/include/llvm
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
..
ADT Improve conformance with the Misha spelling benchmark suite 2005-01-30 00:09:23 +00:00
Analysis * Make some methods more const correct. 2005-01-30 23:51:02 +00:00
Assembly Add llvm-as project to Visual Studio 2005-01-01 20:51:41 +00:00
Bytecode Improve compatibility with aCC on HPUX. Patch by Duraid Madina 2005-01-16 01:22:18 +00:00
CodeGen Improve spelling 2005-01-30 00:13:34 +00:00
Config Provide support for HP/UX aCC compiler's variant of hash_map and hash_set 2005-01-16 02:58:39 +00:00
Debugger For PR351: \ 2004-12-13 17:01:53 +00:00
ExecutionEngine Add a convenience function for clearing the two global areas. 2004-12-13 16:22:32 +00:00
Support Switch from using an ilist for uses to using a custom doubly linked list. 2005-02-01 01:22:06 +00:00
System Do not clean up if the MappedFile was never used or if the client already 2005-01-28 16:08:23 +00:00
Target Add a new method, described in the comment. 2005-01-19 06:53:02 +00:00
Transforms Get VC++ compiling again 2005-01-28 07:29:32 +00:00
AbstractTypeUser.h Convert 'struct' to 'class' in various places to adhere to the coding standards 2004-10-27 16:14:51 +00:00
Argument.h Forward-declare templates for fix compilation when Argument.h is included first. 2004-03-11 23:42:24 +00:00
BasicBlock.h Improve conformance with the Misha spelling benchmark suite 2005-01-30 00:09:23 +00:00
CallGraphSCCPass.h 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
Constant.h Adjust to user changes. 2005-01-29 00:32:00 +00:00
Constants.h Adjust to changes in the User class. 2005-01-29 00:33:00 +00:00
DerivedTypes.h Fix VC++ compilation error 2005-01-08 22:44:06 +00:00
Function.h Improve conformance with the Misha spelling benchmark suite 2005-01-30 00:09:23 +00:00
GlobalValue.h Adjust to changes in the User class. 2005-01-29 00:33:00 +00:00
GlobalVariable.h Adjust to changes in the User class. 2005-01-29 00:33:00 +00:00
InstrTypes.h Adjust to changes in the User class. Introduce a new UnaryInstruction 2005-01-29 00:32:51 +00:00
Instruction.def Add new unreachable instruction 2004-10-16 18:05:37 +00:00
Instruction.h Adjust to changes in the User class. 2005-01-29 00:33:00 +00:00
Instructions.h Many changes to cope with the User.h changes. Instructions now generally 2005-01-29 00:31:36 +00:00
IntrinsicInst.h Fix bountiful sources of VC++ 'possible loss of data' warnings 2005-01-01 18:58:23 +00:00
Intrinsics.h The Alpha (tm) intrinsics aren't even being used 2004-10-29 18:43:43 +00:00
Linker.h Completely rewrite the interface to be class based 2004-12-13 02:58:05 +00:00
Module.h Improve conformance with the Misha spelling benchmark suite 2005-01-30 00:09:23 +00:00
ModuleProvider.h Add comments 2004-02-01 00:32:48 +00:00
Pass.h For PR387:\ 2004-12-07 08:11:11 +00:00
PassAnalysisSupport.h Add AnalysisUsage::addRequiredTransitive() to keep analysis info alive for 2004-03-12 06:13:15 +00:00
PassManager.h 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
PassSupport.h Fix more warnings 2004-06-04 20:39:05 +00:00
SymbolTable.h Fix typeo 2004-12-05 06:33:15 +00:00
SymbolTableListTraits.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Type.def Packed types, brought to you by Brad Jones 2004-08-20 06:00:58 +00:00
Type.h primitive' has no a' 2005-01-24 16:28:03 +00:00
Use.h Switch from using an ilist for uses to using a custom doubly linked list. 2005-02-01 01:22:06 +00:00
User.h Instead of storing operands as std::vector<Use>, just maintain a pointer 2005-01-29 00:29:39 +00:00
Value.h Switch from using an ilist for uses to using a custom doubly linked list. 2005-02-01 01:22:06 +00:00