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:
parent
3a65ee74e8
commit
98209db3dc
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue