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]); } } }
