[llvm-commits] calling convention support for ARM AAPCS VFP "homogenous aggregates"
Bob Wilson
bob.wilson at apple.com
Thu Aug 13 22:27:14 PDT 2009
Sandeep,
This looks pretty good to me. I have some minor comments that I will
try to collect in the next day or two. I think you should split this
up a bit, though. Having seen the motivation for making the CC
available in more contexts, it would be good to submit that as a
separate patch. I.E., one patch for parts 2 and 3 from your list.
The change to use CallingConv::ID should be reviewed by someone more
familiar with llvm-gcc. It looks to me like someone intentionally
decided to use "unsigned" to avoid pulling in the header file for
CallingConv::ID, and now you're changing that decision.
On Aug 5, 2009, at 3:15 AM, Sandeep Patel wrote:
> Attached is a patch to llvm-gcc to implement passing of homogenous
> aggregates via FP registers per the ARM AAPCS VFP variant (a.k.a. hard
> float).
>
> 1. The patch uses CallingConv::ID consistently instead of unsigned to
> hold the CC.
> 2. The patch keeps track of the CC in all DefaultABIClient subclasses.
> 3. The patch passes the CC into
> LLVM_SHOULD_PASS_AGGREGATE_IN_MIXED_REGS and
> LLVM_AGGREGATE_PARTIALLY_PASSED_IN_REGS.
> 4. The patch implements both macros in the ARM backend according to
> the rules of the AAPCS spec.
>
> Note: no code was imported to implement this. The structure of
> vfp_arg_homogenous_aggregate_p was originally taken from the i386
> classify_argument() function.
>
> deep
> <deep-gcc-hard-float-
> homogeneous.diff>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list