expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.

* expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
	* gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
	* gimple-fold.c (canonicalize_bool): Likewise.
	(same_bool_result_p): Likewise.
	* tree-if-conv.c (parse_predicate): Likewise.

From-SVN: r223441
This commit is contained in:
Marek Polacek 2015-05-20 11:46:00 +00:00 committed by Marek Polacek
parent 3a65ee74e8
commit 98209db3dc
5 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,11 @@
2015-05-20 Marek Polacek <polacek@redhat.com>
* expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
* gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
* gimple-fold.c (canonicalize_bool): Likewise.
(same_bool_result_p): Likewise.
* tree-if-conv.c (parse_predicate): Likewise.
2015-05-20 Marek Polacek <polacek@redhat.com>
* gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.

View File

@ -8073,7 +8073,7 @@ expand_cond_expr_using_cmove (tree treeop0 ATTRIBUTE_UNUSED,
unsignedp = TYPE_UNSIGNED (type);
comparison_code = convert_tree_comp_to_rtx (cmpcode, unsignedp);
}
else if (TREE_CODE_CLASS (TREE_CODE (treeop0)) == tcc_comparison)
else if (COMPARISON_CLASS_P (treeop0))
{
tree type = TREE_TYPE (TREE_OPERAND (treeop0, 0));
enum tree_code cmpcode = TREE_CODE (treeop0);

View File

@ -607,7 +607,7 @@ void
gimple_cond_get_ops_from_tree (tree cond, enum tree_code *code_p,
tree *lhs_p, tree *rhs_p)
{
gcc_assert (TREE_CODE_CLASS (TREE_CODE (cond)) == tcc_comparison
gcc_assert (COMPARISON_CLASS_P (cond)
|| TREE_CODE (cond) == TRUTH_NOT_EXPR
|| is_gimple_min_invariant (cond)
|| SSA_VAR_P (cond));

View File

@ -3846,7 +3846,7 @@ canonicalize_bool (tree expr, bool invert)
else if (TREE_CODE (expr) == SSA_NAME)
return fold_build2 (EQ_EXPR, boolean_type_node, expr,
build_int_cst (TREE_TYPE (expr), 0));
else if (TREE_CODE_CLASS (TREE_CODE (expr)) == tcc_comparison)
else if (COMPARISON_CLASS_P (expr))
return fold_build2 (invert_tree_comparison (TREE_CODE (expr), false),
boolean_type_node,
TREE_OPERAND (expr, 0),
@ -3865,7 +3865,7 @@ canonicalize_bool (tree expr, bool invert)
else if (TREE_CODE (expr) == SSA_NAME)
return fold_build2 (NE_EXPR, boolean_type_node, expr,
build_int_cst (TREE_TYPE (expr), 0));
else if (TREE_CODE_CLASS (TREE_CODE (expr)) == tcc_comparison)
else if (COMPARISON_CLASS_P (expr))
return fold_build2 (TREE_CODE (expr),
boolean_type_node,
TREE_OPERAND (expr, 0),
@ -3946,12 +3946,12 @@ same_bool_result_p (const_tree op1, const_tree op2)
/* Check the cases where at least one of the operands is a comparison.
These are a bit smarter than operand_equal_p in that they apply some
identifies on SSA_NAMEs. */
if (TREE_CODE_CLASS (TREE_CODE (op2)) == tcc_comparison
if (COMPARISON_CLASS_P (op2)
&& same_bool_comparison_p (op1, TREE_CODE (op2),
TREE_OPERAND (op2, 0),
TREE_OPERAND (op2, 1)))
return true;
if (TREE_CODE_CLASS (TREE_CODE (op1)) == tcc_comparison
if (COMPARISON_CLASS_P (op1)
&& same_bool_comparison_p (op2, TREE_CODE (op1),
TREE_OPERAND (op1, 0),
TREE_OPERAND (op1, 1)))

View File

@ -339,7 +339,7 @@ parse_predicate (tree cond, tree *op0, tree *op1)
return ERROR_MARK;
}
if (TREE_CODE_CLASS (TREE_CODE (cond)) == tcc_comparison)
if (COMPARISON_CLASS_P (cond))
{
*op0 = TREE_OPERAND (cond, 0);
*op1 = TREE_OPERAND (cond, 1);