[cfe-commits] r161694 - in /cfe/trunk: lib/CodeGen/TargetInfo.cpp test/CodeGen/arm-arguments.c

Eli Friedman eli.friedman at gmail.com
Fri Aug 10 14:01:48 PDT 2012


On Fri, Aug 10, 2012 at 1:42 PM, Manman Ren <mren at apple.com> wrote:
> Author: mren
> Date: Fri Aug 10 15:42:31 2012
> New Revision: 161694
>
> URL: http://llvm.org/viewvc/llvm-project?rev=161694&view=rev
> Log:
> ARM: enable struct byval for AAPCS.
>
> rdar://9877866
> PR://13350
>
> Modified:
>     cfe/trunk/lib/CodeGen/TargetInfo.cpp
>     cfe/trunk/test/CodeGen/arm-arguments.c
>
> Modified: cfe/trunk/lib/CodeGen/TargetInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/TargetInfo.cpp?rev=161694&r1=161693&r2=161694&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/TargetInfo.cpp (original)
> +++ cfe/trunk/lib/CodeGen/TargetInfo.cpp Fri Aug 10 15:42:31 2012
> @@ -2757,9 +2757,7 @@
>      }
>    }
>
> -  // FIXME: byval for AAPCS is not yet supported; we need it for performance
> -  // and to support large alignment.
> -  if (getABIKind() == ARMABIInfo::APCS) {
> +  if (getABIKind() == ARMABIInfo::APCS || getABIKind() == ARMABIInfo::AAPCS) {
>      if (getContext().getTypeSizeInChars(Ty) > CharUnits::fromQuantity(64) ||
>          getContext().getTypeAlign(Ty) > 64) {
>        return ABIArgInfo::getIndirect(0, /*ByVal=*/true);

Are you intentionally turning this on for AAPCS and not AAPCS_VFP?

-Eli



More information about the cfe-commits mailing list