mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-20 11:29:24 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2833 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
InstrSched | ||
InstrSelection | ||
LiveVar | ||
RegAlloc | ||
EmitBytecodeToAssembly.cpp | ||
MachineCodeForInstruction.h | ||
MachineInstrAnnot.h | ||
Makefile | ||
SparcV9.burg.in | ||
SparcV9AsmPrinter.cpp | ||
SparcV9Instr.def | ||
SparcV9InstrInfo.cpp | ||
SparcV9InstrSelection.cpp | ||
SparcV9InstrSelectionSupport.h | ||
SparcV9Internals.h | ||
SparcV9PrologEpilogInserter.cpp | ||
SparcV9RegClassInfo.cpp | ||
SparcV9RegClassInfo.h | ||
SparcV9RegInfo.cpp | ||
SparcV9SchedInfo.cpp | ||
SparcV9TargetMachine.cpp |