https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64853
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Mine. I thought I had handled this correctly with vrp_valueize_1 doing /* Return the singleton value-range for NAME if that is a constant but signal to not follow SSA edges. */ static inline tree vrp_valueize_1 (tree name) { if (TREE_CODE (name) == SSA_NAME) { value_range_t *vr = get_value_range (name); if (range_int_cst_singleton_p (vr)) return vr->min; /* If the definition may be simulated again we cannot follow this SSA edge as the SSA propagator does not necessarily re-visit the use. */ gimple def_stmt = SSA_NAME_DEF_STMT (name); if (prop_simulate_again_p (def_stmt)) ^^^ return NULL_TREE; but I guess the singleton handling needs to be guarded with the same.