Changes in directory llvm/include/llvm:
CallingConv.h updated: 1.4 -> 1.5 --- Log message: Added some eye-candy for Subtarget type checking Added X86 StdCall & FastCall calling conventions. Codegen will follow. --- Diffs of the changes: (+18 -7) CallingConv.h | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) Index: llvm/include/llvm/CallingConv.h diff -u llvm/include/llvm/CallingConv.h:1.4 llvm/include/llvm/CallingConv.h:1.5 --- llvm/include/llvm/CallingConv.h:1.4 Mon Jun 5 11:29:06 2006 +++ llvm/include/llvm/CallingConv.h Sun Sep 17 15:25:45 2006 @@ -24,10 +24,10 @@ /// calling conventions. /// @brief LLVM Calling Convention Representation enum ID { - // C - The default llvm calling convention, compatible with C. This - // convention is the only calling convention that supports varargs calls. - // As with typical C calling conventions, the callee/caller have to tolerate - // certain amounts of prototype mismatch. + /// C - The default llvm calling convention, compatible with C. This + /// convention is the only calling convention that supports varargs calls. + /// As with typical C calling conventions, the callee/caller have to tolerate + /// certain amounts of prototype mismatch. C = 0, /// CSRet - C Struct Return calling convention. This convention requires @@ -42,8 +42,8 @@ // support varargs calls, and all assume that the caller and callee // prototype exactly match. - // Fast - This calling convention attempts to make calls as fast as possible - // (e.g. by passing things in registers). + /// Fast - This calling convention attempts to make calls as fast as possible + /// (e.g. by passing things in registers). Fast = 8, // Cold - This calling convention attempts to make code in the caller as @@ -54,7 +54,18 @@ // Target - This is the start of the target-specific calling conventions, // e.g. fastcall and thiscall on X86. - FirstTargetCC = 64 + FirstTargetCC = 64, + + /// X86_StdCall - stdcall is the calling conventions mostly used by the + /// Win32 API. It is basically the same as the C convention with the + /// difference in that the callee is responsible for popping the arguments + /// from the stack. + X86_StdCall = 64, + + /// X86_FastCall - 'fast' analog of X86_StdCall. Passes first two arguments + /// in ECX:EDX registers, others - via stack. Callee is responsible for + /// stack cleaning. + X86_FastCall = 65 }; } // End CallingConv namespace _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits