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