https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105432
Aldy Hernandez <aldyh at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Assignee|unassigned at gcc dot gnu.org |aldyh at gcc dot gnu.org Last reconfirmed| |2022-04-29 Ever confirmed|0 |1 --- Comment #5 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- set_range_info does not handle VR_VARYING because SSA_NAME_RANGE_TYPE can only store VR_RANGE or VR_ANTI_RANGE. However, we allow storing a range of the entire domain because nonzero bits can be set on such a range. This was working because the previous call to set_range_info was passing VR_RANGE and the extremes of the type. This won't work if we go through a value_range, because the normalization code will see [MIN, MAX] and normalize it to VR_VARYING. Ughh. The correct thing to do here is to force VR_RANGE in this scenario.