mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 00:32:23 +00:00
bbe51362d5
Added fp register clobbering during calls. Added AsmPrinter support for "fmask", a bitmask that indicates where on the stack the fp callee saved registers are. Fixed the stack frame layout for Mips, now the callee saved regs are in the right stack location (a little documentation about how this stack frame must look like is present in MipsRegisterInfo.cpp). This was done using the method MipsRegisterInfo::adjustMipsStackFrame To be more clear, these are examples of what is solves : 1) FP and RA are also callee saved, and despite they aren't in CSI they must be saved before the fp callee saved registers. 2) The ABI requires that local varibles are allocated before the callee saved register area, the opposite behavior from the default allocation. 3) CPU and FPU saved register area must be aligned independent of each other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54403 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
Makefile | ||
Mips.h | ||
Mips.td | ||
MipsAsmPrinter.cpp | ||
MipsCallingConv.td | ||
MipsDelaySlotFiller.cpp | ||
MipsInstrFormats.td | ||
MipsInstrFPU.td | ||
MipsInstrInfo.cpp | ||
MipsInstrInfo.h | ||
MipsInstrInfo.td | ||
MipsISelDAGToDAG.cpp | ||
MipsISelLowering.cpp | ||
MipsISelLowering.h | ||
MipsMachineFunction.h | ||
MipsRegisterInfo.cpp | ||
MipsRegisterInfo.h | ||
MipsRegisterInfo.td | ||
MipsSchedule.td | ||
MipsSubtarget.cpp | ||
MipsSubtarget.h | ||
MipsTargetAsmInfo.cpp | ||
MipsTargetAsmInfo.h | ||
MipsTargetMachine.cpp | ||
MipsTargetMachine.h |