On Mon, 18 Aug 2008, Jeff Law wrote: > Richard Guenther wrote: > > > > The most interesting pass change is the removal of the first > > DOM/phi-cprop pair. DOM mostly deals with jump-threading at this > > place and for tramp3d catches 473 threads on top of the 2555 ones > > performed by the VRP pass that runs right before the first DOM. > > > Ultimately, jump threading is all I really want DOM to do long term anyway --
Yes, I agree .. > the redundancy elimination performed by DOM can be better handled elsewhere. > The interesting question is there redundancy elimination left in DOM that is > unique and if not, can we get the same overall effect if we remove the > redundancy elimination from DOM and instead using existing passes for > redundancy elimination. Same overall effect doesn't mean identical code, but ... though I am not sure (I didn't investigate) how much of the redundancy elimination code feeds the jump threading parts. I was thinking of moving the jump threading parts over to SCCVN instead, given that VRP lacks capabilities regarding to symbolical conditions. > reasonably close and without incurring a significant compile-time hit. > > Regardless, I fully support eliminating the number of calls into DOM as well > as trimming the set of transformations performed by DOM. Thanks. It seems the last DOM pass doesn't do very much as well, so I'll be playing with removing that as a last step of cleaning up the pipeline. Even if that might need another run of FRE instead of DOM. Richard.