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 >