[PATCH] ARM: Homogeneous aggregates must be allocated to contiguous registers (clang part)

Manman Ren manman.ren at gmail.com
Mon Mar 17 15:22:50 PDT 2014

Thanks Renato.

I was confused myself since I haven't touched this part of the code for a

       // way is semantically identical, but fast-isel and the optimizer
       // generally likes scalar values better than FCAs.
Should we try to investigate if this patch changes performance for

+      // We cannot do this for functions using the AAPCS calling
+      // as structures are treated differently by that calling convention.
Is it possible to be more informative, maybe explain how [why] structures
are treated differently?

-      if (llvm::StructType *st = dyn_cast<llvm::StructType>(argType)) {
+      llvm::StructType *st = dyn_cast<llvm::StructType>(argType);
+      if (st && !isAAPCSVFP(FI, getTarget())) {
Since the patch is trying to solve issues for HA, is it beneficial to only
disable this for HA, instead of for all structs?

If there is no performance issue with this patch, we should try to have a
corresponding testing case in the llvm part of the patch, for each testing
case that currently exists in clang for HA (i.e the testing cases that are
updated in the clang part of the patch).

Thanks for working on this, Oliver.


On Mon, Mar 17, 2014 at 2:43 PM, Renato Golin <renato.golin at linaro.org>wrote:

>   Manman,
>   Looks at the discussion in D3082.
>   --renato
> http://llvm-reviews.chandlerc.com/D3083
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140317/8bb212a2/attachment.html>

More information about the cfe-commits mailing list