diff options
Diffstat (limited to 'gcc/tree-ssa-ifcombine.c')
-rw-r--r-- | gcc/tree-ssa-ifcombine.c | 12 |
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); |