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. 15def 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. 27def RetCC_Blackfin : CallingConv<[ 28 CCIfType<[i16], CCPromoteToType<i32>>, 29 CCAssignToReg<[R0, R1]> 30]>; 31