aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-forwprop.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-07-25 23:26:59 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-07-25 23:26:59 +0000
commite9ea8bd58e47536fc44b61bf657c20fb22c747ad (patch)
tree95b7cdaa4a1488e04ee4b25d2031e455b1aa2318 /gcc/tree-ssa-forwprop.c
parent70502b2caf55e0a198048a5beac5f08850af3916 (diff)
downloadgcc-e9ea8bd58e47536fc44b61bf657c20fb22c747ad.zip
gcc-e9ea8bd58e47536fc44b61bf657c20fb22c747ad.tar.gz
gcc-e9ea8bd58e47536fc44b61bf657c20fb22c747ad.tar.bz2
fold-const.c (constant_boolean_node): Make extern.
* fold-const.c (constant_boolean_node): Make extern. (make_range): Wrap long lines. (fold_cond_expr_with_comparison): Remove unnecessary call to pedantic_non_lvalue. Add missing calls to fold_convert. (fold_truthop): Add missing calls to fold_convert. (fold): Likewise. * tree.h (constant_boolean_node): Add prototype here. * builtins.c (expand_builtin_strncmp): Add missing calls to fold_convert. * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Call fold_convert and constant_boolean_node to correct types. * tree-ssa-forwprop.c (substitute_single_use_vars): Add missing call to fold_convert to correct types. From-SVN: r85169
Diffstat (limited to 'gcc/tree-ssa-forwprop.c')
-rw-r--r--gcc/tree-ssa-forwprop.c10
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. */