llvm-6502/include/llvm
Alkis Evlogimenos 39a0d5c112 Too many changes in one commit:
1. LiveIntervals now implement a 4 slot per instruction model. Load,
   Use, Def and a Store slot. This is required in order to correctly
   represent caller saved register clobbering on function calls,
   register reuse in the same instruction (def resues last use) and
   also spill code added later by the allocator. The previous
   representation (2 slots per instruction) was insufficient and as a
   result was causing subtle bugs.

2. Fixes in spill code generation. This was the major cause of
   failures in the test suite.

3. Linear scan now has core support for folding memory operands. This
   is untested and not enabled (the live interval update function does
   not attempt to fold loads/stores in instructions).

4. Lots of improvements in the debugging output of both live intervals
   and linear scan. Give it a try... it is beautiful :-)

In summary the above fixes all the issues with the recent reserved
register elimination changes and get the allocator very close to the
next big step: folding memory operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11654 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20 06:15:40 +00:00
..
ADT Add next() and prior() iterator utility functions. Unlike std::advance 2004-02-14 01:17:28 +00:00
Analysis Add a method useful for updating DSA 2004-02-19 21:27:50 +00:00
Assembly The cbackend has never had anything to do with llvm assembly writing 2004-02-13 23:19:51 +00:00
Bytecode Add enum for compaction table. 2004-01-18 21:09:23 +00:00
CodeGen Too many changes in one commit: 2004-02-20 06:15:40 +00:00
Config Regenerated using autoconf-2.57 and autoheader-2.57. 2004-01-21 19:39:29 +00:00
Debugger add new method 2004-01-06 05:31:57 +00:00
ExecutionEngine Add new ExecutionEngine::getGlobalValueAtAddress method, which can efficiently 2003-12-31 20:19:31 +00:00
Support Make ToolExecutionError inherit std::exception and implement its 2004-02-19 07:39:26 +00:00
System Add a new function 2004-02-19 20:03:08 +00:00
Target This is needed by assignment verification in linear-scan. 2004-02-19 01:10:55 +00:00
Transforms Fix spelling of `tendency'. 2004-02-13 16:23:14 +00:00
AbstractTypeUser.h Hrm is a really nasty ommission. The lack of this destructor was causing abstract 2003-12-23 23:25:21 +00:00
Argument.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
BasicBlock.h Remove long obsolete method. switch instructions are first class entities in the CFG, and have been for a LOOOONG time. 2004-02-11 01:17:58 +00:00
CallGraphSCCPass.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Constant.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Constants.h Add a new ConstantAggregateZero class, to fix PR239. This makes zero 2004-02-15 05:53:04 +00:00
DerivedTypes.h Rearrange code to eliminate warnings 2004-02-17 02:58:36 +00:00
Function.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
GlobalValue.h Fixes for PR114: Thanks to Reid Spencer! 2003-11-16 20:21:15 +00:00
GlobalVariable.h Fixes for PR114: Thanks to Reid Spencer! 2003-11-16 20:21:15 +00:00
iMemory.h * Added class comments 2004-02-10 18:44:16 +00:00
InstrTypes.h * Add new constructors to allow insertion of terminator instructions at the 2003-11-20 17:44:37 +00:00
Instruction.def Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Instruction.h Add new method 2004-01-12 23:18:06 +00:00
Instructions.h Added LLVM copyright header (for lack of a better term). 2003-10-20 20:19:47 +00:00
IntrinsicLowering.h Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering 2003-12-28 21:23:38 +00:00
Intrinsics.h Add llvm.memset/frameaddress/returnaddress intrinsics. 2004-02-14 02:47:17 +00:00
iOperators.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
iOther.h Doxygen-ify comments, make function prototypes more consistent in format. 2004-02-10 16:39:05 +00:00
iPHINode.h Fixes for PR114: Thanks to Reid Spencer! 2003-11-16 20:21:15 +00:00
iTerminators.h rename the "exceptional" destination of an invoke instruction to the 'unwind' dest 2004-02-08 21:44:31 +00:00
Linker.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Module.h Add some comments, add a new getGlobalVariable method 2003-12-31 08:42:27 +00:00
ModuleProvider.h Add comments 2004-02-01 00:32:48 +00:00
Pass.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
PassAnalysisSupport.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
PassManager.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
PassSupport.h Fixes for PR114: Thanks to Reid Spencer! 2003-11-16 20:21:15 +00:00
SymbolTable.h Make the lookup method const. 2003-12-31 07:08:19 +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 Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Type.h Add two missing pieces from last checkin 2004-02-17 03:03:36 +00:00
Use.h Fixes for PR114: Thanks to Reid Spencer! 2003-11-16 20:21:15 +00:00
User.h Fixes for PR114: Thanks to Reid Spencer! 2003-11-16 20:21:15 +00:00
Value.h Minor cleanup 2004-01-10 21:40:29 +00:00