[PATCH] D14300: MSP430 calling convention updates

Youssefi, Anna via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 3 12:28:50 PST 2015


Please note that this is not the same diff I submitted originally on 10/14/15. This updated diff contains an additional test in cc_args.ll.  

Thanks,
Anna

-----Original Message-----
From: Youssefi, Anna 
Sent: Tuesday, November 03, 2015 2:19 PM
To: Youssefi, Anna; anton at korobeynikov.info
Cc: llvm-commits at lists.llvm.org
Subject: [PATCH] D14300: MSP430 calling convention updates

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: MSP430_calling_convention_update2.diff
Type: application/octet-stream
Size: 39713 bytes
Desc: MSP430_calling_convention_update2.diff
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151103/aa6c196d/attachment.obj>


More information about the llvm-commits mailing list