On Tue, May 13, 2025 at 12:47 AM Andrew Pinski <quic_apin...@quicinc.com> wrote:
>
> This is a small optimization which can improve how many times are need 
> through the update loop.
> It can reduce the number of times in the update loop by maybe 1 times.
>
> Bootstrapped and tested on x86_64-linux-gnu.

OK.

> gcc/ChangeLog:
>
>         * cfgexpand.cc (vars_ssa_cache::operator()): Update the cache if the 
> use is already
>         has a cache.
>
> Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
> ---
>  gcc/cfgexpand.cc | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc
> index 0e76d340d26..277ef659f30 100644
> --- a/gcc/cfgexpand.cc
> +++ b/gcc/cfgexpand.cc
> @@ -766,7 +766,12 @@ vars_ssa_cache::operator() (tree name)
>
>        /* If the cache exists for the use, don't try to recreate it. */
>        if (exists (use))
> -       continue;
> +       {
> +         /* Update the cache here, this can reduce the number of
> +            times through the update loop below.  */
> +         update (old_name, use);
> +         continue;
> +       }
>
>        /* Create the cache bitmap for the use and also
>          so we don't go into an infinite loop for some phi nodes with loops.  
> */
> --
> 2.43.0
>

Reply via email to