gcc/
        * omp-low.c (expand_omp_for_init_counts): Eliminate local "stmt"
        in favor of new locals "cond_stmt" and "assign_stmt" with more
        concrete types.
---
 gcc/omp-low.c | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index fd3a545..d5df743 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -4940,7 +4940,6 @@ expand_omp_for_init_counts (struct omp_for_data *fd, 
gimple_stmt_iterator *gsi,
                            basic_block &l2_dom_bb)
 {
   tree t, type = TREE_TYPE (fd->loop.v);
-  gimple stmt;
   edge e, ne;
   int i;
 
@@ -4979,6 +4978,7 @@ expand_omp_for_init_counts (struct omp_for_data *fd, 
gimple_stmt_iterator *gsi,
                                fold_convert (itype, fd->loops[i].n2)))
              == NULL_TREE || !integer_onep (t)))
        {
+         gimple_cond cond_stmt;
          tree n1, n2;
          n1 = fold_convert (itype, unshare_expr (fd->loops[i].n1));
          n1 = force_gimple_operand_gsi (gsi, n1, true, NULL_TREE,
@@ -4986,28 +4986,29 @@ expand_omp_for_init_counts (struct omp_for_data *fd, 
gimple_stmt_iterator *gsi,
          n2 = fold_convert (itype, unshare_expr (fd->loops[i].n2));
          n2 = force_gimple_operand_gsi (gsi, n2, true, NULL_TREE,
                                         true, GSI_SAME_STMT);
-         stmt = gimple_build_cond (fd->loops[i].cond_code, n1, n2,
-                                   NULL_TREE, NULL_TREE);
-         gsi_insert_before (gsi, stmt, GSI_SAME_STMT);
-         if (walk_tree (gimple_cond_lhs_ptr (stmt),
+         cond_stmt = gimple_build_cond (fd->loops[i].cond_code, n1, n2,
+                                        NULL_TREE, NULL_TREE);
+         gsi_insert_before (gsi, cond_stmt, GSI_SAME_STMT);
+         if (walk_tree (gimple_cond_lhs_ptr (cond_stmt),
                         expand_omp_regimplify_p, NULL, NULL)
-             || walk_tree (gimple_cond_rhs_ptr (stmt),
+             || walk_tree (gimple_cond_rhs_ptr (cond_stmt),
                            expand_omp_regimplify_p, NULL, NULL))
            {
-             *gsi = gsi_for_stmt (stmt);
-             gimple_regimplify_operands (stmt, gsi);
+             *gsi = gsi_for_stmt (cond_stmt);
+             gimple_regimplify_operands (cond_stmt, gsi);
            }
-         e = split_block (entry_bb, stmt);
+         e = split_block (entry_bb, cond_stmt);
          if (zero_iter_bb == NULL)
            {
+             gimple_assign assign_stmt;
              first_zero_iter = i;
              zero_iter_bb = create_empty_bb (entry_bb);
              if (current_loops)
                add_bb_to_loop (zero_iter_bb, entry_bb->loop_father);
              *gsi = gsi_after_labels (zero_iter_bb);
-             stmt = gimple_build_assign (fd->loop.n2,
-                                         build_zero_cst (type));
-             gsi_insert_before (gsi, stmt, GSI_SAME_STMT);
+             assign_stmt = gimple_build_assign (fd->loop.n2,
+                                                build_zero_cst (type));
+             gsi_insert_before (gsi, assign_stmt, GSI_SAME_STMT);
              set_immediate_dominator (CDI_DOMINATORS, zero_iter_bb,
                                       entry_bb);
            }
-- 
1.8.5.3

Reply via email to