diff options
Diffstat (limited to 'gcc/tree-ssa-forwprop.c')
-rw-r--r-- | gcc/tree-ssa-forwprop.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c index d4e893c..7df513f 100644 --- a/gcc/tree-ssa-forwprop.c +++ b/gcc/tree-ssa-forwprop.c @@ -391,6 +391,7 @@ substitute_single_use_vars (varray_type *cond_worklist, { bool invert = false; enum tree_code new_code; + tree new_arg; /* TEST_VAR was set from a TRUTH_NOT_EXPR or a NOP_EXPR. */ if (def_rhs_code == TRUTH_NOT_EXPR) @@ -408,11 +409,10 @@ substitute_single_use_vars (varray_type *cond_worklist, if (invert) new_code = (new_code == EQ_EXPR ? NE_EXPR : EQ_EXPR); - new_cond = build (new_code, - boolean_type_node, - TREE_OPERAND (def_rhs, 0), - convert (TREE_TYPE (def_rhs), - integer_zero_node)); + new_arg = TREE_OPERAND (def_rhs, 0); + new_cond = build2 (new_code, boolean_type_node, new_arg, + fold_convert (TREE_TYPE (new_arg), + integer_zero_node)); } /* Dump details. */ |