1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/lib/Target/Sparc
Vikram S. Adve b94ede185c 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.
   Also, cpMem<->Reg functions now return a vector of machine instructions.
-- 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.

Other changes:
-- Added several get{Class,Type} functions.
-- Added unified-to-local register number conversion.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.
-- Suggest/Color methods may modify the MachineInstr (and always did),
   so don't make that argument const!
-- Caller-saving code doesn't need its special purpose code for
   handling CC registers since cpMem<->Reg handle those correctly now.

llvm-svn: 2834
2002-07-08 23:23:12 +00:00
..
EmitAssembly.cpp MEGAPATCH checkin. 2002-06-25 16:13:21 +00:00
EmitBytecodeToAssembly.cpp MEGAPATCH checkin. 2002-06-25 16:13:21 +00:00
Makefile Fixed the makefile to not die when compiling a new, empty, source directory 2002-05-21 15:58:24 +00:00
PrologEpilogCodeInserter.cpp changes to make it compatible with 64bit gcc 2002-06-25 20:55:50 +00:00
Sparc.burg.in Added support for bitwise logical operators. Use different labels for 2001-11-08 05:14:02 +00:00
Sparc.cpp MEGAPATCH checkin. 2002-06-25 16:13:21 +00:00
SparcInstr.def Change latencies for Load, Store and Branch instructions. 2002-03-24 03:33:53 +00:00
SparcInstrInfo.cpp Remove diff-cluttering tags 2002-06-30 16:12:03 +00:00
SparcInstrSelection.cpp Fix constness 2002-06-05 18:11:37 +00:00
SparcInstrSelectionSupport.h Numerous bug fixes: 2002-05-19 15:25:51 +00:00
SparcInternals.h Remove diff-cluttering tags 2002-06-30 16:12:03 +00:00
SparcRegClassInfo.cpp changes to make it compatible with 64bit gcc 2002-06-25 20:55:50 +00:00
SparcRegClassInfo.h Convert RegClass::IsColorUsedArr from a dynamically allocated array to 2002-05-23 15:50:03 +00:00
SparcRegInfo.cpp Significant changes to correctly spill CC registers and to correctly 2002-07-08 23:23:12 +00:00
UltraSparcSchedInfo.cpp Pull all of the scheduling related stuff out of Sparc.cpp into it's own file 2002-02-04 00:39:14 +00:00