diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-09 23:04:06 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-09 23:04:06 +0000 |
commit | 0d7349754ea74c3a7eac8d0b457f86e703bdb031 (patch) | |
tree | e5a7ffd19651ec8e341a482d405d293a6e720838 /gcc/tree-if-conv.c | |
parent | c8e41bd91cde9c8c33f6d49f4e1d2e1be70d7d8b (diff) | |
download | gcc-0d7349754ea74c3a7eac8d0b457f86e703bdb031.tar.gz |
* 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
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r-- | gcc/tree-if-conv.c | 24 |
1 files changed, 9 insertions, 15 deletions
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; |