From 0d7349754ea74c3a7eac8d0b457f86e703bdb031 Mon Sep 17 00:00:00 2001 From: rakdver Date: Mon, 9 Jul 2007 23:04:06 +0000 Subject: * tree-scalar-evolution.c (scev_const_prop): Add arguments to force_gimple_operand_bsi. * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr, rewrite_use_compare): Ditto. * tree-ssa-address.c (gimplify_mem_ref_parts, create_mem_ref): Ditto. * tree-ssa-ifcombine.c (ifcombine_ifandif): Ditto. * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto. * lambda-code.c (replace_uses_equiv_to_x_with_y): Ditto. * tree-profile.c (prepare_instrumented_value, tree_gen_interval_profiler, tree_gen_pow2_profiler, tree_gen_one_value_profiler, tree_gen_ic_profiler, tree_gen_ic_func_profiler, tree_gen_average_profiler, tree_gen_ior_profiler): Ditto. * tree-ssa-reassoc.c (negate_value): Ditto. * matrix-reorg.c (transform_access_sites, transform_allocation_sites): Use force_gimple_operand_bsi. * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto. * tree-if-conv.c (add_to_dst_predicate_list, find_phi_replacement_condition): Ditto. * gimplify.c (force_gimple_operand_bsi): Add before and m arguments. Call mark_symbols_for_renaming for new statements. * tree-flow.h (force_gimple_operand_bsi): Declaration changed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126500 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-if-conv.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'gcc/tree-if-conv.c') diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index 4714bd7bce5..b18de42fd3e 100644 --- a/gcc/tree-if-conv.c +++ b/gcc/tree-if-conv.c @@ -637,17 +637,12 @@ add_to_dst_predicate_list (struct loop * loop, edge e, { tree tmp; tree tmp_stmt = NULL_TREE; - tree tmp_stmts1 = NULL_TREE; - tree tmp_stmts2 = NULL_TREE; - prev_cond = force_gimple_operand (unshare_expr (prev_cond), - &tmp_stmts1, true, NULL); - if (tmp_stmts1) - bsi_insert_before (bsi, tmp_stmts1, BSI_SAME_STMT); - - cond = force_gimple_operand (unshare_expr (cond), - &tmp_stmts2, true, NULL); - if (tmp_stmts2) - bsi_insert_before (bsi, tmp_stmts2, BSI_SAME_STMT); + + prev_cond = force_gimple_operand_bsi (bsi, unshare_expr (prev_cond), + true, NULL, true, BSI_SAME_STMT); + + cond = force_gimple_operand_bsi (bsi, unshare_expr (cond), + true, NULL, true, BSI_SAME_STMT); /* Add the condition to aux field of the edge. In case edge destination is a PHI node, this condition will be ANDed with @@ -698,7 +693,7 @@ find_phi_replacement_condition (struct loop *loop, block_stmt_iterator *bsi) { edge first_edge, second_edge; - tree tmp_cond, new_stmts; + tree tmp_cond; gcc_assert (EDGE_COUNT (bb->preds) == 2); first_edge = EDGE_PRED (bb, 0); @@ -777,9 +772,8 @@ find_phi_replacement_condition (struct loop *loop, value as condition. Various targets use different means to communicate condition in vector compare operation. Using gimple value allows compiler to emit vector compare and select RTL without exposing compare's result. */ - *cond = force_gimple_operand (*cond, &new_stmts, false, NULL_TREE); - if (new_stmts) - bsi_insert_before (bsi, new_stmts, BSI_SAME_STMT); + *cond = force_gimple_operand_bsi (bsi, *cond, false, NULL_TREE, + true, BSI_SAME_STMT); if (!is_gimple_reg (*cond) && !is_gimple_condexpr (*cond)) { tree new_stmt; -- cgit v1.2.1