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