2014-11-18 Marc Glisse <marc.glisse@inria.fr>
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Nov 2014 10:26:31 +0000 (10:26 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Nov 2014 10:26:31 +0000 (10:26 +0000)
commitccb147416fe6158db2d37a30cc7a243827ad641f
treec1395e2804b0507497743d4f678303c275f80e85
parentf145bcbac60099ac029541f6ae17f0047f5b87b4
2014-11-18  Marc Glisse  <marc.glisse@inria.fr>

* tree.c (element_mode, integer_truep): New functions.
* tree.h (element_mode, integer_truep): Declare them.
* fold-const.c (negate_expr_p, fold_negate_expr, combine_comparisons,
fold_cond_expr_with_comparison, fold_real_zero_addition_p,
fold_comparison, fold_ternary_loc, tree_call_nonnegative_warnv_p,
fold_strip_sign_ops): Use element_mode.
(fold_binary_loc): Use element_mode and element_precision.
* match.pd: Use integer_truep, element_mode, element_precision,
VECTOR_TYPE_P and build_one_cst. Extend some transformations to
vectors. Simplify A/-A.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217702 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/match.pd
gcc/tree.c
gcc/tree.h