X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FTarget%2FTargetCallingConv.td;h=2e766c448b34a7a44f5f411ce75a0b57cf0b3b10;hb=00552e3875ee5f382db6c98286a241a7d0efe1b8;hp=d0bdd369839f35c20b4b1301f2e02ad370d315cf;hpb=03fe69e90d2e9c0104ea9a94aa3a417ed12f2f92;p=oota-llvm.git diff --git a/include/llvm/Target/TargetCallingConv.td b/include/llvm/Target/TargetCallingConv.td index d0bdd369839..2e766c448b3 100644 --- a/include/llvm/Target/TargetCallingConv.td +++ b/include/llvm/Target/TargetCallingConv.td @@ -67,6 +67,9 @@ class CCIfSplit : CCIf<"ArgFlags.isSplit()", A> {} /// the specified action. class CCIfSRet : CCIf<"ArgFlags.isSRet()", A> {} +/// CCIfVarArg - If the current function is vararg - apply the action +class CCIfVarArg : CCIf<"State.isVarArg()", A> {} + /// CCIfNotVarArg - If the current function is not vararg - apply the action class CCIfNotVarArg : CCIf<"!State.isVarArg()", A> {} @@ -147,6 +150,13 @@ class CCDelegateTo : CCAction { /// that the target supports. class CallingConv actions> { list Actions = actions; + bit Custom = 0; +} + +/// CustomCallingConv - An instance of this is used to declare calling +/// conventions that are implemented using a custom function of the same name. +class CustomCallingConv : CallingConv<[]> { + let Custom = 1; } /// CalleeSavedRegs - A list of callee saved registers for a given calling