1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/CodeGen
Vikram S. Adve 0b32273208 Significant changes to correctly spill CC registers and to correctly
handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
-- Scratch registers must be explicitly provided to cpMem<->Reg when
   needed, since CC regs need one to be copied to/from memory.
-- CC regs are saved to a scratch register instead of stack.
-- All regs used by a instruction are now recorded in MachineInstr::regsUsed,
   since regs used to save values *across* an instruction are not obvious
   either from the operands or from the LiveVar sets.
-- An (explicit or implicit) operand may now be both a def and a use.
   This is needed for conditional move operations.
   So an operand may need spill code both before and after the instruction.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.

llvm-svn: 2833
2002-07-08 23:15:32 +00:00
..
InstrSched A single MachineInstr operand may now be both a def and a use, 2002-07-08 22:59:23 +00:00
InstrSelection Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.h. 2002-07-08 23:03:10 +00:00
RegAlloc Significant changes to correctly spill CC registers and to correctly 2002-07-08 23:15:32 +00:00
MachineBasicBlock.cpp Implementation of class MachineCodeForBasicBlock. 2002-07-08 23:01:11 +00:00
MachineCodeForInstruction.cpp Rename static struct Initializer to avoid name conflict with BB. 2002-07-08 23:04:31 +00:00
MachineFunction.cpp Fix printing of BB in dump. 2002-07-08 23:03:54 +00:00
MachineInstr.cpp Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}. 2002-07-08 22:38:45 +00:00
MachineInstrAnnot.cpp Annotation class for MachineInstr. 2002-05-19 15:30:21 +00:00
Makefile added RegAlloc Directory to DIRS 2001-09-14 21:28:17 +00:00