aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-ifcombine.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-ifcombine.c')
-rw-r--r--gcc/tree-ssa-ifcombine.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
index 9403857..9486e54 100644
--- a/gcc/tree-ssa-ifcombine.c
+++ b/gcc/tree-ssa-ifcombine.c
@@ -317,9 +317,11 @@ ifcombine_ifandif (basic_block inner_cond_bb, basic_block outer_cond_bb)
t2 = fold_build2 (LSHIFT_EXPR, TREE_TYPE (name1),
integer_one_node, bit2);
t = fold_build2 (BIT_IOR_EXPR, TREE_TYPE (name1), t, t2);
- t = force_gimple_operand_bsi (&bsi, t, true, NULL_TREE);
+ t = force_gimple_operand_bsi (&bsi, t, true, NULL_TREE,
+ true, BSI_SAME_STMT);
t2 = fold_build2 (BIT_AND_EXPR, TREE_TYPE (name1), name1, t);
- t2 = force_gimple_operand_bsi (&bsi, t2, true, NULL_TREE);
+ t2 = force_gimple_operand_bsi (&bsi, t2, true, NULL_TREE,
+ true, BSI_SAME_STMT);
COND_EXPR_COND (inner_cond) = fold_build2 (EQ_EXPR, boolean_type_node,
t2, t);
update_stmt (inner_cond);
@@ -405,9 +407,11 @@ ifcombine_iforif (basic_block inner_cond_bb, basic_block outer_cond_bb)
/* Do it. */
bsi = bsi_for_stmt (inner_cond);
t = fold_build2 (BIT_IOR_EXPR, TREE_TYPE (name1), bits1, bits2);
- t = force_gimple_operand_bsi (&bsi, t, true, NULL_TREE);
+ t = force_gimple_operand_bsi (&bsi, t, true, NULL_TREE,
+ true, BSI_SAME_STMT);
t = fold_build2 (BIT_AND_EXPR, TREE_TYPE (name1), name1, t);
- t = force_gimple_operand_bsi (&bsi, t, true, NULL_TREE);
+ t = force_gimple_operand_bsi (&bsi, t, true, NULL_TREE,
+ true, BSI_SAME_STMT);
COND_EXPR_COND (inner_cond) = fold_build2 (NE_EXPR, boolean_type_node, t,
build_int_cst (TREE_TYPE (t), 0));
update_stmt (inner_cond);