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.

Reply via email to