From: Andrew Pinski Date: Wed, 4 Dec 2024 02:57:45 +0000 (-0800) Subject: cfgexpand: Update cache during the original DFS walk X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=232f22615857cd83735770d82c7c0178e43bee19;p=thirdparty%2Fgcc.git cfgexpand: Update cache during the original DFS walk 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. gcc/ChangeLog: * cfgexpand.cc (vars_ssa_cache::operator()): Update the cache if the use is already has a cache. Signed-off-by: Andrew Pinski --- 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. */