llvm-6502/lib/CodeGen
Chris Lattner f7da2c7b0c Take advantage of the recent improvements to the liveintervals set (tracking
instructions which define each value#) to simplify and improve the coallescer.
In particular, this patch:

1. Implements iterative coallescing.
2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a
   better solution.
3. Implements PR865, "coallescing" away the second copy in code like:

   A = B
   ...
   B = A

This also includes changes to symbolically print registers in intervals
when possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29862 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-24 22:43:55 +00:00
..
SelectionDAG Fix PR861 2006-08-21 20:24:53 +00:00
AsmPrinter.cpp Emit .set directives for jump table entries when possible, which reduces 2006-08-12 21:29:52 +00:00
BranchFolding.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
DwarfWriter.cpp Adding C++ member support. 2006-08-21 21:20:18 +00:00
ELFWriter.cpp Refactor a bunch of includes so that TargetMachine.h doesn't have to include 2006-05-12 06:33:49 +00:00
IntrinsicLowering.cpp Handle new forms of llvm.dbg intrinsics. 2006-03-23 18:06:46 +00:00
LiveInterval.cpp Take advantage of the recent improvements to the liveintervals set (tracking 2006-08-24 22:43:55 +00:00
LiveIntervalAnalysis.cpp Take advantage of the recent improvements to the liveintervals set (tracking 2006-08-24 22:43:55 +00:00
LiveVariables.cpp Eliminate data relocations by using NULL instead of global empty list. 2006-07-21 21:15:20 +00:00
MachineBasicBlock.cpp Refactor a bunch of includes so that TargetMachine.h doesn't have to include 2006-05-12 06:33:49 +00:00
MachineDebugInfo.cpp Adding C++ member support. 2006-08-21 21:20:18 +00:00
MachineFunction.cpp Add an out-of-line virtual function to home class. 2006-07-14 23:08:47 +00:00
MachineInstr.cpp Instructions with variable operands (variable_ops) can have a number required 2006-06-15 07:22:16 +00:00
MachinePassRegistry.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
MachOWriter.cpp Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it 2006-08-23 21:08:52 +00:00
Makefile Fix linking on Alpha 2006-07-20 17:27:58 +00:00
Passes.cpp Work around a bug in gcc 3.3.5, reported by a user 2006-08-03 00:16:56 +00:00
PHIElimination.cpp Fix an obvious bug, noticed by inspection. No current targets trigger this. 2006-08-12 05:41:39 +00:00
PhysRegTracker.h Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr 2004-02-23 06:10:13 +00:00
PrologEpilogInserter.cpp Shave another 27K off libllvmgcc.dylib with visibility hidden 2006-06-28 22:17:39 +00:00
RegAllocLinearScan.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
RegAllocLocal.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
RegAllocSimple.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
TwoAddressInstructionPass.cpp Reduce number of exported symbols 2006-07-20 17:28:38 +00:00
UnreachableBlockElim.cpp Use hidden visibility to make symbols in an anonymous namespace get 2006-06-28 23:17:24 +00:00
VirtRegMap.cpp Take advantage of the recent improvements to the liveintervals set (tracking 2006-08-24 22:43:55 +00:00
VirtRegMap.h Fix a latent bug that my spiller patch last week exposed: we were leaving 2006-05-01 22:03:24 +00:00