[PATCH] ARM: Homogeneous aggregates must be allocated to contiguous registers
Oliver Stannard
oliver.stannard at arm.com
Fri May 9 06:33:18 PDT 2014
The "attribute" that I added is in ISD::ArgFlagsTy (see include/llvm/Target/TargetCallingConv.h), not an IR attribute, so I can't add IR or bitcode tests for it.
================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:1244
@@ +1243,3 @@
+ return CallingConv::ARM_APCS;
+ } else if (Subtarget->hasVFP2() && !isVarArg)
+ return CallingConv::ARM_AAPCS_VFP;
----------------
James Molloy wrote:
> Why are you converting fastcc functions to AAPCS_VFP here?
This is the same behaviour as the old code. It has to be done here, instead of in CCAssignFnForNode, as getFuncArgNeedsRegBlock needs to know if a function will be treated as AAPCS_VFP, even if the function itself is marked as CallingConv::Fast or CallingConv::C.
http://reviews.llvm.org/D3082
More information about the llvm-commits
mailing list