Xiangling_L added inline comments.

Comment at: clang/lib/CodeGen/TargetInfo.cpp:4317
+  if (isAggregateTypeForABI(RetTy))
+    return getNaturalAlignIndirect(RetTy);
Xiangling_L wrote:
> jasonliu wrote:
> > Xiangling_L wrote:
> > > This method uses the ABI alignment of the given aggregate type which I 
> > > think is not ideal due to our AIX special alignment rule. We need to use 
> > > preferred alignment in this case.
> > > Btw also I think it's not necessary for you to rebase your patch on the 
> > > power alignment patch, I can refresh the testcase when I am dealing with 
> > > that one.
> > As it is right now in master, there is no difference between natural 
> > alignment and preferred alignment for AIX. The tentative direction is to 
> > use preferred alignment to record the actual alignment on AIX, but it is 
> > not finalized yet. I would rather leave this part of the work for the patch 
> > that's going to implement the power alignment rule for AIX.
> `getNaturalAlignIndirect` uses ABI align which is for sure not correct on AIX 
> target for Aggregate types. What we want is the actual alignment here.
> So I am not sure if we want to take `getNaturalAlignIndirect` for granted 
> even if we know it's not correct semantically.
Comment update:
For the power alignment patch, after some investigation, to test IR alignment 
value for struct as argument and return type, it should base on this ABI patch. 

So I agree that we can rely on power alignment patch later to update this part.

  rG LLVM Github Monorepo



cfe-commits mailing list

Reply via email to