https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61757
--- Comment #33 from rguenther at suse dot de <rguenther at suse dot de> --- On Mon, 14 Jul 2014, law at redhat dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61757 > > --- Comment #32 from Jeffrey A. Law <law at redhat dot com> --- > No, we don't have that information available in any reasonable form. That's > one of the things I need to investigate. At least during the DOM walk we record the undo stack, so when visiting a backedge we'd need to unwind up to the target block (or record that unwind info in some other place to be usable in the threading code). That also sounds cheaper than the quadratic complexity invalidation done as noted in PR61515. > One of the possibilities is to flip things on their side a bit. The old code > started recording equivalences it might need to invalidate when it traversed > the backedge. Part of the problem with that scheme is some of the > equivalences > were already recorded by tree-ssa-dom.c, independent of the threading bits. > We > didn't have a way to find or invalidate those equivalences. See above - those are the easy bits I think... I know nothing of those recorded at threading time (I've not dug into that code many times).