https://gcc.gnu.org/g:9c0f2b084df620948d00c82b9e9eb803eaa98478

commit r17-5224-g9c0f2b084df620948d00c82b9e9eb803eaa98478
Author: Aldy Hernandez <[email protected]>
Date:   Wed Oct 14 05:29:05 2026 +0000

    backward threader: factor out adding an import
    
    Factor out the code adding imports from find_paths_to_names into a
    lambda, so a later patch can add imports without duplicating code.
    
    Tested on ppc64le Linux.
    
    gcc/ChangeLog:
    
            * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
            Factor making a name an import out into add_import.

Diff:
---
 gcc/tree-ssa-threadbackward.cc | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/gcc/tree-ssa-threadbackward.cc b/gcc/tree-ssa-threadbackward.cc
index 339b390c43dc..8f81446c4e7b 100644
--- a/gcc/tree-ssa-threadbackward.cc
+++ b/gcc/tree-ssa-threadbackward.cc
@@ -479,6 +479,15 @@ back_threader::find_paths_to_names (basic_block bb, bitmap 
interesting,
       bitmap_iterator bi;
       unsigned i;
       auto_vec<tree, 16> worklist;
+      // Add NAME to the list of imports.
+      auto add_import = [&] (tree name)
+       {
+         if (bitmap_set_bit (m_imports, SSA_NAME_VERSION (name)))
+           {
+             new_imports.safe_push (SSA_NAME_VERSION (name));
+             worklist.safe_push (name);
+           }
+       };
       EXECUTE_IF_SET_IN_BITMAP (interesting, 0, i, bi)
        {
          tree name = ssa_name (i);
@@ -510,16 +519,8 @@ back_threader::find_paths_to_names (basic_block bb, bitmap 
interesting,
                  tree ssa[3];
                  unsigned lim = gimple_range_ssa_names (ssa, 3, def_stmt);
                  for (unsigned j = 0; j < lim; ++j)
-                   {
-                     tree rhs = ssa[j];
-                     if (rhs
-                         && bitmap_set_bit (m_imports,
-                                            SSA_NAME_VERSION (rhs)))
-                       {
-                         new_imports.safe_push (SSA_NAME_VERSION (rhs));
-                         worklist.safe_push (rhs);
-                       }
-                   }
+                   if (ssa[j])
+                     add_import (ssa[j]);
                }
            }
        }

Reply via email to