mirror of git://gcc.gnu.org/git/gcc.git
tree-ssa-dom.c (canonicalize_comparison): Remove.
2016-11-09 Richard Biener <rguenther@suse.de> * tree-ssa-dom.c (canonicalize_comparison): Remove. (optimize_stmt): Remove redundant pre-propagation canonicalization of comparison operand order. From-SVN: r242003
This commit is contained in:
parent
68c937083c
commit
2c49f22a48
|
|
@ -1,3 +1,9 @@
|
|||
2016-11-09 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-dom.c (canonicalize_comparison): Remove.
|
||||
(optimize_stmt): Remove redundant pre-propagation canonicalization
|
||||
of comparison operand order.
|
||||
|
||||
2016-11-09 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* fold-const-call.c (fold_const_call): Fix the folding.
|
||||
|
|
|
|||
|
|
@ -753,49 +753,6 @@ make_pass_dominator (gcc::context *ctxt)
|
|||
}
|
||||
|
||||
|
||||
/* Given a conditional statement CONDSTMT, convert the
|
||||
condition to a canonical form. */
|
||||
|
||||
static void
|
||||
canonicalize_comparison (gcond *condstmt)
|
||||
{
|
||||
tree op0;
|
||||
tree op1;
|
||||
enum tree_code code;
|
||||
|
||||
gcc_assert (gimple_code (condstmt) == GIMPLE_COND);
|
||||
|
||||
op0 = gimple_cond_lhs (condstmt);
|
||||
op1 = gimple_cond_rhs (condstmt);
|
||||
|
||||
code = gimple_cond_code (condstmt);
|
||||
|
||||
/* If it would be profitable to swap the operands, then do so to
|
||||
canonicalize the statement, enabling better optimization.
|
||||
|
||||
By placing canonicalization of such expressions here we
|
||||
transparently keep statements in canonical form, even
|
||||
when the statement is modified. */
|
||||
if (tree_swap_operands_p (op0, op1, false))
|
||||
{
|
||||
/* For relationals we need to swap the operands
|
||||
and change the code. */
|
||||
if (code == LT_EXPR
|
||||
|| code == GT_EXPR
|
||||
|| code == LE_EXPR
|
||||
|| code == GE_EXPR)
|
||||
{
|
||||
code = swap_tree_comparison (code);
|
||||
|
||||
gimple_cond_set_code (condstmt, code);
|
||||
gimple_cond_set_lhs (condstmt, op1);
|
||||
gimple_cond_set_rhs (condstmt, op0);
|
||||
|
||||
update_stmt (condstmt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* A trivial wrapper so that we can present the generic jump
|
||||
threading code with a simple API for simplifying statements. */
|
||||
static tree
|
||||
|
|
@ -1789,9 +1746,6 @@ optimize_stmt (basic_block bb, gimple_stmt_iterator si,
|
|||
print_gimple_stmt (dump_file, stmt, 0, TDF_SLIM);
|
||||
}
|
||||
|
||||
if (gimple_code (stmt) == GIMPLE_COND)
|
||||
canonicalize_comparison (as_a <gcond *> (stmt));
|
||||
|
||||
update_stmt_if_modified (stmt);
|
||||
opt_stats.num_stmts++;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue