[llvm-dev] [VSXFMAMutate] OldFMAReg may be wrongly rewritten

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Wed Mar 2 15:39:57 PST 2016


Relaying an IRC conversation here:

Currently we're going to disable the VSXFMAMutate pass in ToT and talk
about ways to either rewrite or fix it to deal with more complicated cfgs.

Thanks!

-eric

On Mon, Feb 29, 2016 at 2:21 PM Tim Shen <timshen at google.com> wrote:

> Ping?
>
> On Mon, Feb 22, 2016 at 1:06 PM Tim Shen <timshen at google.com> wrote:
>
>> On Fri, Feb 19, 2016 at 5:10 PM Tim Shen <timshen at google.com> wrote:
>>
>>> I wonder if we can fix this by making the transformation simpler, that
>>> is, instead of doing:
>>>
>>
>> I wrote a prototype (see attach) for this idea, it actually improves some
>> of the test cases (e.g. fma-assoc.ll: test_FMADD_ASSOC1), but pessimize
>> several other cases (e.g. test_FMADD_ASSOC_EXT1).
>>
>> I'm not sure what to do at this point, I have several options:
>> 1) This pass simply omits the optimization for certain cases ("certain"
>> needs to be defined).
>> 2) This pass should never mutate anything out of the block, and may add a
>> copy at the end of the block, if the value is live-out.
>> 3) tune the transformation as I attempted, to make it simpler, working,
>> and producing better result? It seems interesting to get the improvement as
>> my prototype shown without hurting other test cases, but it needs a bit
>> thinking and I'd like to fix the compiler crash soon.
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160302/3f16e68b/attachment.html>


More information about the llvm-dev mailing list