+2005-12-21 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-data-ref.c (estimate_niter_from_size_of_data): Replace
+ fold_build2 with fold_binary.
+ * tree-ssa-ccp.c (visit_assignment, maybe_fold_stmt_addition):
+ Replace fold_build1 with fold_unary.
+ * tree-ssa-reassoc.c (optimize_ops_list): Replace fold_build2
+ with fold_binary.
+
2005-12-21 Steven Bosscher <stevenb@suse.de>
PR rtl-optimization/25196
&& TREE_CODE (step) == INTEGER_CST)
{
tree i_plus_s = fold_build2 (PLUS_EXPR, integer_type_node, init, step);
- tree sign = fold_build2 (GT_EXPR, boolean_type_node, i_plus_s, init);
+ tree sign = fold_binary (GT_EXPR, boolean_type_node, i_plus_s, init);
if (sign == boolean_true_node)
estimation = fold_build2 (CEIL_DIV_EXPR, integer_type_node,
if (TREE_CODE (orig_lhs) == VIEW_CONVERT_EXPR
&& val.lattice_val == CONSTANT)
{
- tree w = fold_build1 (VIEW_CONVERT_EXPR,
- TREE_TYPE (TREE_OPERAND (orig_lhs, 0)),
- val.value);
+ tree w = fold_unary (VIEW_CONVERT_EXPR,
+ TREE_TYPE (TREE_OPERAND (orig_lhs, 0)),
+ val.value);
orig_lhs = TREE_OPERAND (orig_lhs, 0);
if (w && is_gimple_min_invariant (w))
{
if (TYPE_UNSIGNED (TREE_TYPE (op1)))
return NULL;
- op1 = fold_build1 (NEGATE_EXPR, TREE_TYPE (op1), op1);
+ op1 = fold_unary (NEGATE_EXPR, TREE_TYPE (op1), op1);
/* ??? In theory fold should always produce another integer. */
- if (TREE_CODE (op1) != INTEGER_CST)
+ if (op1 == NULL || TREE_CODE (op1) != INTEGER_CST)
return NULL;
}
&& lang_hooks.types_compatible_p (TREE_TYPE (oelm1->op),
TREE_TYPE (oelast->op)))
{
- tree folded = fold_build2 (opcode, TREE_TYPE (oelm1->op),
+ tree folded = fold_binary (opcode, TREE_TYPE (oelm1->op),
oelm1->op, oelast->op);
- if (is_gimple_min_invariant (folded))
+ if (folded && is_gimple_min_invariant (folded))
{
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "Merging constants\n");