[LLVMdev] how to turn off conversion of add's into or's (in address calculations)
Matt Arsenault
Matthew.Arsenault at amd.com
Fri Jun 6 10:55:20 PDT 2014
On 06/06/2014 09:38 AM, Jingyue Wu wrote:
> HI Helkki,
>
> I guess instcombine does that. See InstCombineAddSub.cpp:1107. The
> optimization there is more general than converting address computation
> adds. If A and B don't have common bits, instcombine converts A + B to
> A | B. I am not aware of any configuration to turn this particular
> optimization off. If you just want to experiment, you can always
> change the code. Or you can improve your analysis/optimization to
> treat such OR as ADD.
>
> Ignore if you already know this: you can run "opt -O3
> -print-after-all" to figure out which optimization pass does a certain
> thing.
>
> Jingyue
Add the IR level, most / nearly all address calculations are hidden in
GEPs. They are only really exposed later in SelectionDAG, so DAGCombiner
is probably doing this
>
>
> On Fri, Jun 6, 2014 at 6:11 AM, Heikki Kultala <hkultala at cs.tut.fi
> <mailto:hkultala at cs.tut.fi>> wrote:
>
> It seems some optimization pass converts some address computation
> add's into or's when it knows it's allowed due correct alignment.
>
> How do I turn this off keep the address calculations as adds?
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>
> http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140606/ef6e6d7f/attachment.html>
More information about the llvm-dev
mailing list