aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2007-07-10 01:04:06 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2007-07-09 23:04:06 +0000
commitc6540bdeb4a50fadc96f5b0087cca5602ad04845 (patch)
treee5a7ffd19651ec8e341a482d405d293a6e720838 /gcc/tree-if-conv.c
parent452ba14de17872cf0d51da73f6faa6b2f3668753 (diff)
downloadgcc-c6540bdeb4a50fadc96f5b0087cca5602ad04845.zip
gcc-c6540bdeb4a50fadc96f5b0087cca5602ad04845.tar.gz
gcc-c6540bdeb4a50fadc96f5b0087cca5602ad04845.tar.bz2
tree-scalar-evolution.c (scev_const_prop): Add arguments to force_gimple_operand_bsi.
* 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. From-SVN: r126500
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r--gcc/tree-if-conv.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 4714bd7..b18de42 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;