llvm-6502/lib/CodeGen
Alkis Evlogimenos 71499ded4d Add TwoAddressInstructionPass to handle instructions that have two or
more operands and the two first operands are constrained to be the
same. The pass takes an instruction of the form:

        a = b op c

and transforms it into:

        a = b
        a = a op c

and also preserves live variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10512 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-18 13:06:04 +00:00
..
InstrSched Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
InstrSelection Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
ModuloScheduling Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
RegAlloc Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
SelectionDAG Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
LiveIntervalAnalysis.cpp When a variable is killed and redifined in a basic block only one 2003-12-18 08:53:43 +00:00
LiveIntervalAnalysis.h Rename LiveIntervals::expired() to LiveIntervals::expiredAt(). 2003-12-18 08:56:11 +00:00
LiveVariables.cpp Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
MachineCodeEmitter.cpp Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineCodeForInstruction.cpp Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineFunction.cpp Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
MachineInstr.cpp Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
MachineInstrAnnot.cpp Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00
Makefile Added LLVM copyright notice to Makefiles. 2003-10-20 22:26:57 +00:00
Passes.cpp Merging the linear scan register allocator in trunk. It currently passes most tests under test/Programs/SingleSource/Benchmarks/Shootout so development will continue on trunk. The allocator is not enabled by default. You will need to pass -regallo=linearscan to lli or llc to use it. 2003-11-20 03:32:25 +00:00
PHIElimination.cpp Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
PrologEpilogInserter.cpp Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
RegAllocLinearScan.cpp Rename LiveIntervals::expired() to LiveIntervals::expiredAt(). 2003-12-18 08:56:11 +00:00
RegAllocLocal.cpp Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
RegAllocSimple.cpp Change interface of MachineOperand as follows: 2003-12-14 13:24:17 +00:00
TwoAddressInstructionPass.cpp Add TwoAddressInstructionPass to handle instructions that have two or 2003-12-18 13:06:04 +00:00