llvm-6502/include/llvm/CodeGen
Alkis Evlogimenos e88280a422 Add option to join live intervals. Two intervals are joined if there
is a move between two registers, at least one of the registers is
virtual and the two live intervals do not overlap.

This results in about 40% reduction in intervals, 30% decrease in the
register allocators running time and a 20% increase in peephole
optimizations (mainly move eliminations).

The option can be enabled by passing -join-liveintervals where
appropriate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10965 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-22 23:08:45 +00:00
..
FunctionLiveVarInfo.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
InstrForest.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
InstrScheduling.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
InstrSelection.h Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering 2003-12-28 21:23:38 +00:00
InstrSelectionSupport.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +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
LiveIntervalAnalysis.h Add option to join live intervals. Two intervals are joined if there 2004-01-22 23:08:45 +00:00
LiveIntervals.h Add option to join live intervals. Two intervals are joined if there 2004-01-22 23:08:45 +00:00
LiveVariables.h Make LiveVariables::HandlePhysRegUse and 2004-01-11 09:18:45 +00:00
MachineBasicBlock.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineCodeEmitter.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineCodeForInstruction.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineConstantPool.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineFrameInfo.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineFunction.h Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass 2003-12-20 10:18:58 +00:00
MachineFunctionInfo.h Remove a horrible API 2003-12-20 09:15:01 +00:00
MachineFunctionPass.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineInstr.h I wonder how this didn't cause any tests to fail... 2003-12-14 13:30:19 +00:00
MachineInstrAnnot.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineInstrBuilder.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Passes.h Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass 2003-12-20 10:18:58 +00:00
SchedGraphCommon.h Moved iterators to common file. 2004-01-20 17:49:42 +00:00
SelectionDAG.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
SparcRegInfo.h --reg alloc code added 2001-09-15 00:33:26 +00:00
SSARegMap.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
ValueSet.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
ValueTypes.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00