https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83072

--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> The issue is that when EVRP records value-ranges that only hold temporarily
> it doesn't update SSA_NAME_RANGE_INFO but only the internal lattice while
> if the range is determined at the SSA definition point it also updates
> SSA_NAME_RANGE_INFO.

Seems obvious now you've said it... And VRP1, which would have a separate
SSA_NAME, does not generally call into match-simplify yet.

I wonder if we'll take the ugly route of making the EVRP lattice global, and
having get_range_info use it if it isn't empty (or checking some flag) and fall
back to the current behavior otherwise. Seems simpler and cheaper than the
alternatives I am trying to think about.

Reply via email to