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

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikael at gcc dot gnu.org

--- Comment #8 from Mikael Morin <mikael at gcc dot gnu.org> ---
(In reply to Andrew Macleod from comment #7)
> 
> diff --git a/gcc/gimple-range.cc b/gcc/gimple-range.cc
> index 49e9d6b4de6..74afaaf2989 100644
> --- a/gcc/gimple-range.cc
> +++ b/gcc/gimple-range.cc
> @@ -394,7 +394,9 @@ gimple_ranger::prefill_stmt_dependencies (tree ssa)
>             Value_Range tmp (TREE_TYPE (name));
>             m_cache.get_global_range (tmp, name);
>             r.intersect (tmp);
> -           m_cache.set_global_range (name, r);
> +           // Only update the global range if it changes.
> +           if (r != tmp)
> +             m_cache.set_global_range (name, r);
>           }
>         continue;
>       }

Maybe the result of intersect could be used to check for changes?

if (tmp.intersect(r))
  ...

Reply via email to