On 11/22/13 10:13, Bingfeng Mei wrote:
So if we are about to fix this in if-conversion, we need to do both in tree & rtl
as both ifcvt & ce passes cannot handle it.
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.
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.
And more generally, we try *real* hard not to start enabling/disabling
tree passes on a per-target basis. The end result if we were to start
doing that is an unmaintainable mess.
Jeff