llvm-6502/lib/CodeGen
Chris Lattner c52ad4f04e Use the new "UpdateNodeOperands" method to simplify LegalizeDAG and make it
faster.  This cuts about 120 lines of code out of the legalizer (mostly code
checking to see if operands have changed).

It also fixes an ugly performance issue, where the legalizer cloned the entire
graph after any change.  Now the "UpdateNodeOperands" method gives it a chance
to reuse nodes if the operands of a node change but not its opcode or valuetypes.

This speeds up instruction selection time on kimwitu++ by about 8.2% with a
release build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25746 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-28 10:58:55 +00:00
..
SelectionDAG Use the new "UpdateNodeOperands" method to simplify LegalizeDAG and make it 2006-01-28 10:58:55 +00:00
AsmPrinter.cpp Stub out a method 2006-01-27 02:10:10 +00:00
BranchFolding.cpp
DwarfWriter.cpp Using bit size of integers instead of ambiguous "long" et all. 2006-01-27 20:31:25 +00:00
ELFWriter.cpp add these so I can be less naughty 2005-12-28 06:29:02 +00:00
IntrinsicLowering.cpp For PR411: 2006-01-16 21:12:35 +00:00
LiveInterval.cpp
LiveIntervalAnalysis.cpp Add explicit #includes of <iostream> 2006-01-22 23:41:00 +00:00
LiveVariables.cpp Add a LiveVariables::VarInfo::dump method 2006-01-04 05:40:30 +00:00
MachineBasicBlock.cpp
MachineCodeEmitter.cpp mixed-STL programs are big and nasty :( 2005-12-28 02:44:35 +00:00
MachineDebugInfo.cpp Fix build error that is apparently only a warning with some compilers. 2006-01-27 17:31:30 +00:00
MachineFunction.cpp Moving MachineDebugInfo to module level location. 2006-01-04 13:43:56 +00:00
MachineInstr.cpp
Makefile
Passes.cpp
PHIElimination.cpp Add support for targets (like Alpha) that have terminator instructions which 2006-01-04 07:12:21 +00:00
PhysRegTracker.h
PrologEpilogInserter.cpp Always compute max align. 2005-11-06 17:43:20 +00:00
RegAllocLinearScan.cpp Add explicit #includes of <iostream> 2006-01-22 23:41:00 +00:00
RegAllocLocal.cpp Add explicit #includes of <iostream> 2006-01-22 23:41:00 +00:00
RegAllocSimple.cpp Add explicit #includes of <iostream> 2006-01-22 23:41:00 +00:00
TwoAddressInstructionPass.cpp Add explicit #includes of <iostream> 2006-01-22 23:41:00 +00:00
UnreachableBlockElim.cpp
VirtRegMap.cpp Add explicit #includes of <iostream> 2006-01-22 23:41:00 +00:00
VirtRegMap.h