[llvm-commits] [PATCH] Add support for fast calling convention

Chad Rosier mcrosier at apple.com
Thu Aug 9 12:07:34 PDT 2012


Jush,
Based on your description this patch has two fixes.  I realize these are very small changes, but can you please split this into two patches?

Also

+    if (!Subtarget->isAAPCS_ABI())
+      return (Return ? RetCC_ARM_APCS : CC_ARM_APCS);
+    else if (Subtarget->hasVFP2() &&
+           TM.Options.FloatABIType == FloatABI::Hard && !isVarArg)
+      return (Return ? RetCC_ARM_AAPCS_VFP: CC_ARM_AAPCS_VFP);

No need for the 'else' in the 'else if' since the previous statement was a return.

 Chad

On Aug 9, 2012, at 4:53 AM, Jush Lu wrote:

> Hi,
> 
> This patch adds support for fast calling convention, and this patch is almost same as r117119, I just copied a piece of code from CCAssignFnForNode which is in lib/Target/ARM/ARMISelLowering.cpp
> 
> Currently ARMFastISel handles fastcc for caller side by simply falling through to other calling conventions such as CC_ARM_AAPCS, but the callee with fastcc always uses CC_ARM_AAPCS_VFP calling convention if VFP2 is available. This inconsistency of calling conventions will make problems, and this patch will fix it as well.
> 
> Please review this patch, thanks.
> 
> Jush <fast-isel-fastcc.patch>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120809/3e33c93c/attachment.html>


More information about the llvm-commits mailing list