[PATCH] [AArch64] Improve and enable the SeparateConstOffsetFromGEP for AArch64 backend.

James Molloy james at jamesmolloy.co.uk
Tue Oct 21 13:01:07 PDT 2014


Hi Hao,

It's great to finally see this go upstream!

When you started working on this, the approach was to modify the GEP
lowering logic in CGP. Hal's comment has reminded me that your approach has
moved away from that, so could you please explain why you're doing this
outside of CGP, and why your solution does not duplicate the CGP lowering
code?

How do they interact?

Cheers,

James

On Tuesday, 21 October 2014, hfinkel at anl.gov <hfinkel at anl.gov> wrote:

> > And most important is that it will also transform complex GEPs into a
> "ptrtoint + arithmetic + inttoptr" form, so that it is able to find CSE
> opportunities across basic blocks.
>
> You'll need to disable this transformation when AA is enabled in CodeGen.
> You can do this just like CGP does (essentially by calling
> TM->getSubtarget<TargetSubtargetInfo>().useAA()). CGP splits the GEPs into
> simpler GEPs when AA is in use, and uses inttoptr otherwise. This all
> relates to the way that we use BasicAA to override TBAA and catch cases of
> basic type punning -- but BasicAA does not analyze inttoptr, and so can no
> longer fulfill this need after new inttoptrs are introduced. You could try
> using simpler GEPs like CGP does when AA is in use, or just disable this
> part of the transformation for now. Either is fine with me.
>
> http://reviews.llvm.org/D5864
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu <javascript:;>
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141021/ba01182d/attachment.html>


More information about the llvm-commits mailing list