Added support for fp callee saved registers.
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 6 Aug 2008 06:14:43 +0000 (06:14 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 6 Aug 2008 06:14:43 +0000 (06:14 +0000)
commitbbe51362d53a532942997903a49faa7b5b50ad1f
tree10d71ddb42cb3bec6fd9e911871bf25b9c4763ff
parent01924d00c7d5f6398985b90d733e96dc1bcdc635
Added support for fp callee saved registers.
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
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/Mips/MipsInstrInfo.td
lib/Target/Mips/MipsMachineFunction.h
lib/Target/Mips/MipsRegisterInfo.cpp
lib/Target/Mips/MipsRegisterInfo.h
lib/Target/Mips/MipsTargetMachine.cpp