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.

Reply via email to