This code updates the MSP430 target calling convention to conform to the MSP430 EABI in order to make it compatible with the new MSP430-GCC framework.
- Pass args in R12-R15
- Return args in R12-R15
- Store on stack and pass in registers starting with least significant word
- 32-bit argument may be split between register (R15) and stack if no args placed on stack yet
- Register ‘holes’ may be back-filled (but only by arguments that fit entirely in regs, no split args once first arg placed on stack)
- Only R4 through R10 are callee-saved registers; R11 is updated to be caller-save