Commit 727f302e by Jeff Law Committed by Jeff Law

tree-vrp.c (local_fold): Remove.

        * tree-vrp.c (local_fold): Remove.
        (simplify_using_ranges): Use fold_convert, not local_fold.  Tweak
        DIV/MOD case slightly for readability.

From-SVN: r100955
parent 5721f015
2005-06-14 Jeff Law <law@redhat.com>
* tree-vrp.c (local_fold): Remove.
(simplify_using_ranges): Use fold_convert, not local_fold. Tweak
DIV/MOD case slightly for readability.
2005-06-14 Frank Ch. Eigler <fche@redhat.com> 2005-06-14 Frank Ch. Eigler <fche@redhat.com>
PR mudflap/21023 PR mudflap/21023
......
...@@ -94,21 +94,6 @@ static sbitmap blocks_visited; ...@@ -94,21 +94,6 @@ static sbitmap blocks_visited;
of values that SSA name N_I may take. */ of values that SSA name N_I may take. */
static value_range_t **vr_value; static value_range_t **vr_value;
/* Local version of fold that doesn't introduce cruft. */
static tree
local_fold (tree t)
{
t = fold (t);
/* Strip away useless type conversions. Both the NON_LVALUE_EXPR that
may have been added by fold, and "useless" type conversions that might
now be apparent due to propagation. */
STRIP_USELESS_TYPE_CONVERSION (t);
return t;
}
/* Given a comparison code, return its opposite. Note that this is *not* /* Given a comparison code, return its opposite. Note that this is *not*
the same as inverting its truth value (invert_tree_comparison). Here we the same as inverting its truth value (invert_tree_comparison). Here we
just want to literally flip the comparison around. just want to literally flip the comparison around.
...@@ -3466,14 +3451,17 @@ simplify_using_ranges (void) ...@@ -3466,14 +3451,17 @@ simplify_using_ranges (void)
tree op1 = TREE_OPERAND (rhs, 1); tree op1 = TREE_OPERAND (rhs, 1);
if (rhs_code == TRUNC_DIV_EXPR) if (rhs_code == TRUNC_DIV_EXPR)
t = build (RSHIFT_EXPR, TREE_TYPE (op0), op0, {
build_int_cst (NULL_TREE, tree_log2 (op1))); t = build_int_cst (NULL_TREE, tree_log2 (op1));
t = build (RSHIFT_EXPR, TREE_TYPE (op0), op0, t);
}
else else
t = build (BIT_AND_EXPR, TREE_TYPE (op0), op0, {
local_fold (build (MINUS_EXPR, t = build_int_cst (TREE_TYPE (op1), 1);
TREE_TYPE (op1), t = int_const_binop (MINUS_EXPR, op1, t, 0);
op1, t = fold_convert (TREE_TYPE (op0), t);
integer_one_node))); t = build2 (BIT_AND_EXPR, TREE_TYPE (op0), op0, t);
}
TREE_OPERAND (stmt, 1) = t; TREE_OPERAND (stmt, 1) = t;
update_stmt (stmt); update_stmt (stmt);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment