https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126103
--- Comment #5 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- This looks like DOM changed the IL from under the root ranger. In the dom2 dump we see: ==== ASGN _406 = _890 Optimizing statement if (_406 == 0B) Replaced '_406' with variable '_890' Matching expression match.pd:3125, gimple-match-3.cc:104 Matching expression match.pd:3129, gimple-match-6.cc:89 Matching expression match.pd:3139, gimple-match-10.cc:86 Matching expression match.pd:3145, gimple-match-9.cc:93 Matching expression match.pd:195, gimple-match-6.cc:22 Visiting conditional with predicate: if (_890 == 0B) The original conditional was _406 == 0, which DOM copy propagated with _890, and then later tried to ask ranger to resolve the _890. I wonder if we need a mechanism to invalidate ranger/gori’s knowledge of a block when we alter a statement in DOM.
