[PATCH] D14300: MSP430 calling convention updates
Anna Youssefi via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 3 12:19:22 PST 2015
Annahita created this revision.
Annahita added a reviewer: asl.
Annahita added a subscriber: llvm-commits.
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.
It includes:
1) Pass args in R12-R15
2) Return args in R12-R15
3) Store on stack and pass in registers starting with least significant word
4) 32-bit argument may be split between register (R15) and stack if no args placed on stack yet
5) Register ‘holes’ may be back-filled (but only by arguments that fit entirely in regs, no split args once first arg placed on stack)
6) Only R4 through R10 are callee-saved registers; R11 is updated to be caller-save
http://reviews.llvm.org/D14300
Files:
lib/Target/MSP430/MSP430CallingConv.td
lib/Target/MSP430/MSP430ISelLowering.cpp
lib/Target/MSP430/MSP430RegisterInfo.cpp
test/CodeGen/MSP430/AddrMode-bis-rx.ll
test/CodeGen/MSP430/AddrMode-bis-xr.ll
test/CodeGen/MSP430/AddrMode-mov-rx.ll
test/CodeGen/MSP430/AddrMode-mov-xr.ll
test/CodeGen/MSP430/Inst16mr.ll
test/CodeGen/MSP430/Inst16ri.ll
test/CodeGen/MSP430/Inst16rm.ll
test/CodeGen/MSP430/Inst16rr.ll
test/CodeGen/MSP430/Inst8mr.ll
test/CodeGen/MSP430/Inst8ri.ll
test/CodeGen/MSP430/Inst8rm.ll
test/CodeGen/MSP430/Inst8rr.ll
test/CodeGen/MSP430/bit.ll
test/CodeGen/MSP430/byval.ll
test/CodeGen/MSP430/cc_args.ll
test/CodeGen/MSP430/cc_ret.ll
test/CodeGen/MSP430/indirectbr2.ll
test/CodeGen/MSP430/jumptable.ll
test/CodeGen/MSP430/memset.ll
test/CodeGen/MSP430/setcc.ll
test/CodeGen/MSP430/vararg.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14300.39101.patch
Type: text/x-patch
Size: 36469 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151103/3d5d3305/attachment.bin>
More information about the llvm-commits
mailing list