LLVM backend for 6502
Go to file
Vikram S. Adve 76ee6f70ea 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2834 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 23:23:12 +00:00
docs Cleanup 2002-06-28 22:06:39 +00:00
include cpMem<->Reg functions now support CC registers (int and FP) correctly. 2002-07-08 22:44:14 +00:00
lib Significant changes to correctly spill CC registers and to correctly 2002-07-08 23:23:12 +00:00
runtime Allow libraries to specify other libraries to link to 2002-05-20 21:45:44 +00:00
support/lib/Support changes to make it compatible with 64bit gcc 2002-06-25 20:55:50 +00:00
test New testcase 2002-06-25 19:53:12 +00:00
tools *** empty log message *** 2002-06-30 16:25:25 +00:00
utils Change script to not even look in test/ directory, significantly speeding it up 2002-05-07 18:42:09 +00:00
cvsupdate Merge Chris's script with the one already checked in 2002-04-29 19:11:01 +00:00
getsomesrcs.sh Filter out noncore stuff 2001-07-25 22:46:22 +00:00
getsrcs.sh Change script to not even look in test/ directory, significantly speeding it up 2002-05-07 18:42:09 +00:00
Makefile
Makefile.common * Allow a profile'd code build to be done with a simple 'make ENABLE_PROFILING=1' 2002-05-10 18:51:54 +00:00
Makefile.rules * Allow a profile'd code build to be done with a simple 'make ENABLE_PROFILING=1' 2002-05-10 18:51:54 +00:00