[llvm-commits] CVS: llvm/lib/Target/TargetCallingConv.td

Chris Lattner sabre at nondot.org
Mon Jun 18 17:13:33 PDT 2007



Changes in directory llvm/lib/Target:

TargetCallingConv.td updated: 1.5 -> 1.6
---
Log message:

If a function is vararg, never pass inreg arguments in registers.  Thanks to
Anton for half of this patch.




---
Diffs of the changes:  (+2 -0)

 TargetCallingConv.td |    2 ++
 1 files changed, 2 insertions(+)


Index: llvm/lib/Target/TargetCallingConv.td
diff -u llvm/lib/Target/TargetCallingConv.td:1.5 llvm/lib/Target/TargetCallingConv.td:1.6
--- llvm/lib/Target/TargetCallingConv.td:1.5	Wed Mar  7 10:25:08 2007
+++ llvm/lib/Target/TargetCallingConv.td	Mon Jun 18 19:13:10 2007
@@ -40,6 +40,8 @@
 /// the specified action.
 class CCIfInReg<CCAction A> : CCIf<"ArgFlags & ISD::ParamFlags::InReg", A> {}
 
+/// CCIfNotVarArg - If the current function is not vararg - apply the action
+class CCIfNotVarArg<CCAction A> : CCIf<"!State.isVarArg()", A> {}
 
 /// CCAssignToReg - This action matches if there is a register in the specified
 /// list that is still available.  If so, it assigns the value to the first






More information about the llvm-commits mailing list