diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2022-08-31 17:28:09 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2022-09-22 14:14:34 -0400 |
commit | 3cba5cd6e019182dbff756f621af048d55cdda98 (patch) | |
tree | 3a1520acf6a57b062344f6f8a472c1020491e994 | |
parent | 12b537b9b7fd50f4b2fbfcb7ccf45f8d66085577 (diff) | |
download | gcc-3cba5cd6e019182dbff756f621af048d55cdda98.zip gcc-3cba5cd6e019182dbff756f621af048d55cdda98.tar.gz gcc-3cba5cd6e019182dbff756f621af048d55cdda98.tar.bz2 |
Replace another snippet with a call to gimple_range_ssa_names.
When the original patch was applied, I missed a spot which could
also be rewritten to use gimple_range_ssa_names.
* tree-ssa-threadbackward.cc
(back_threader::find_paths_to_names): Replace sequence with
a call to gimple_range_ssa_names.
-rw-r--r-- | gcc/tree-ssa-threadbackward.cc | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/gcc/tree-ssa-threadbackward.cc b/gcc/tree-ssa-threadbackward.cc index 9725f50..2a8cfa3 100644 --- a/gcc/tree-ssa-threadbackward.cc +++ b/gcc/tree-ssa-threadbackward.cc @@ -435,28 +435,14 @@ back_threader::find_paths_to_names (basic_block bb, bitmap interesting, } /* For other local defs process their uses, amending imports on the way. */ - else if (gassign *ass = dyn_cast <gassign *> (def_stmt)) + else { tree ssa[3]; - if (range_op_handler (ass)) - { - ssa[0] = gimple_range_ssa_p (gimple_range_operand1 (ass)); - ssa[1] = gimple_range_ssa_p (gimple_range_operand2 (ass)); - ssa[2] = NULL_TREE; - } - else if (gimple_assign_rhs_code (ass) == COND_EXPR) - { - ssa[0] = gimple_range_ssa_p (gimple_assign_rhs1 (ass)); - ssa[1] = gimple_range_ssa_p (gimple_assign_rhs2 (ass)); - ssa[2] = gimple_range_ssa_p (gimple_assign_rhs3 (ass)); - } - else - continue; - for (unsigned j = 0; j < 3; ++j) + unsigned lim = gimple_range_ssa_names (ssa, 3, def_stmt); + for (unsigned j = 0; j < lim; ++j) { tree rhs = ssa[j]; if (rhs - && TREE_CODE (rhs) == SSA_NAME && bitmap_set_bit (m_imports, SSA_NAME_VERSION (rhs))) { |