https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126904
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Well, I'm not exactly sure what DOM does, but it possibly has to perform value-numbering along a possible threading path (the path not containing foo()). The backward threader could in theory do the same, but since VN is a forward problem that is not a good fit (but would do O(n^2) work). It would be more realistic to integrate a forward threader (sic!) into VN. That said, does DOM really simplify the exit test before threading or does it duplicate the path optimistically, not knowing if the outgoing edge will be determined or not?
