This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Jump threading in tree dom pass prevents if-conversion & following vectorization


On Fri, Nov 22, 2013 at 6:16 PM, Jeff Law wrote:
>> I am still not convinced jump threading is good for target with predicated
>> execution (assuming no fix for if-conversion). I am doing benchmarking on
>> our target now.

Try disabling only jump threading of back edges, loop latches, and
jump threading in small loops.

Any "jump forwarding" is almost always a win.


> I'd be quite surprised if your tests show that it's not beneficial.
>
> In simplest terms jump threading identifies conditional branches which can
> have their destination statically determined based on the path taken to the
> static branch.

Still, optimizing away such conditional branches is not automatically a win.

There have always been issues with tree-ssa DOM doing jump-threading
so aggressively that other passes couldn't handle the resulting
control flow anymore, especially jump threading around/near loops.

Ciao!
Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]