[Bug middle-end/85598] [7/8/9 Regression] Incorrect warning only at -O2 and -O3

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Nov 23 10:16:00 GMT 2018


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

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to rguenther@suse.de from comment #13)
> Note that dom after vrp1 should be able to adjust the value-ranges given
> it uses EVRP to track ranges...  why doesn't that work?

>From what I see, dom never calls record_ranges_from_phis, but even if it would,
it wouldn't handle the relevant case here, which is to interset the range of
the SSA_NAME phi arg with the edge condition (as if there was an assertion
registered).

I think I'm able to implement this in forwprop using with using the
get_range_info (const_tree, value_range_base &),
value_range::{deep_copy,intersect,union} APIs, or defer to somebody familiar
with  dom and evrp range analyzer to do it in dom (Jeff, Aldy).


More information about the Gcc-bugs mailing list