Home | History | Annotate | Download | only in Blackfin
      1 //===--- BlackfinCallingConv.td - Calling Conventions ------*- tablegen -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 //
     10 // This describes the calling conventions for the Blackfin architectures.
     11 //
     12 //===----------------------------------------------------------------------===//
     13 
     14 // Blackfin C Calling convention.
     15 def CC_Blackfin : CallingConv<[
     16   CCIfType<[i16], CCPromoteToType<i32>>,
     17   CCIfSRet<CCAssignToReg<[P0]>>,
     18   CCAssignToReg<[R0, R1, R2]>,
     19   CCAssignToStack<4, 4>
     20 ]>;
     21 
     22 //===----------------------------------------------------------------------===//
     23 // Return Value Calling Conventions
     24 //===----------------------------------------------------------------------===//
     25 
     26 // Blackfin C return-value convention.
     27 def RetCC_Blackfin : CallingConv<[
     28   CCIfType<[i16], CCPromoteToType<i32>>,
     29   CCAssignToReg<[R0, R1]>
     30 ]>;
     31