llvm-6502/lib/CodeGen
Chris Lattner b26c215c05 Change addRange and join to be a little bit smarter. In particular, we don't
want to insert a new range into the middle of the vector, then delete ranges
one at a time next to the inserted one as they are merged.

Instead, if the inserted interval overlaps, just start merging.  The only time
we insert into the middle of the vector is when we don't overlap at all.  Also
delete blocks of live ranges if we overlap with many of them.

This patch speeds up joining by .7 seconds on a large testcase, but more
importantly gets all of the range adding code into addRangeFrom.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15141 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 19:38:44 +00:00
..
InstrSched
ModuloScheduling
SelectionDAG
IntrinsicLowering.cpp
LiveInterval.cpp Change addRange and join to be a little bit smarter. In particular, we don't 2004-07-23 19:38:44 +00:00
LiveInterval.h Change addRange and join to be a little bit smarter. In particular, we don't 2004-07-23 19:38:44 +00:00
LiveIntervalAnalysis.cpp Rename LiveIntervals.(cpp|h) -> LiveIntervalAnalysis.(cpp|h) 2004-07-23 17:56:30 +00:00
LiveIntervalAnalysis.h Speedup debug builds a bit 2004-07-23 18:38:52 +00:00
LiveVariables.cpp
MachineBasicBlock.cpp
MachineCodeEmitter.cpp
MachineCodeForInstruction.cpp
MachineFunction.cpp
MachineInstr.cpp
MachineInstrAnnot.cpp
Makefile
Passes.cpp
PHIElimination.cpp Update live intervals more accurately for PHI elim. This slightly reduces 2004-07-23 05:27:43 +00:00
PhysRegTracker.h
PrologEpilogInserter.cpp
RegAllocIterativeScan.cpp Rename LiveIntervals.(cpp|h) -> LiveIntervalAnalysis.(cpp|h) 2004-07-23 17:56:30 +00:00
RegAllocLinearScan.cpp Rename LiveIntervals.(cpp|h) -> LiveIntervalAnalysis.(cpp|h) 2004-07-23 17:56:30 +00:00
RegAllocLocal.cpp
RegAllocSimple.cpp
TwoAddressInstructionPass.cpp
UnreachableBlockElim.cpp
VirtRegMap.cpp
VirtRegMap.h