On 5/2/19 6:22 AM, Richard Biener wrote:
> On Wed, May 1, 2019 at 7:32 PM Jeff Law <l...@redhat.com> wrote:
>>
>>
>> This fixes pr88797 by avoiding path splitting when we've got a
>> candidate, but the PHI feeds a conditional in the join block.  ie:
>>
>>   # iftmp.0_11 = PHI <1111(3), 1112(4)>
>> [ ... ]
>>   _14 = iftmp.0_11 > x_17;
>>
>>
>> These are more likely going to be if-conversion candidates and
>> if-conversion is generally more profitable than path splitting.
>>
>> This doesn't feel terribly important to fix for gcc-9, so I'm just
>> installing on the trunk.  But backporting would be trivial and safe if
>> someone feels it's important enough to do so.
>>
>> This has been bootstrapped and regression tested on a variety of native
>> targets, it's also been tested to a lesser degree on the various *-elf
>> targets.
>>
>> Installing on the trunk momentarily.
> 
> IMHO we should get rid of path splitting and try to integrate its transform
> with (backward) threading somehow.
BUt that wouldn't change the fundamental problem that we don't have a
good way to model costs/benefits.

What would be slick would be to create two loops, then do a final
selection on which to keep after if-conversion or something along those
lines.

jeff

Reply via email to