aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-03-22 11:12:57 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-03-22 11:12:57 +0000
commitf471fe729f9c1a3a182818c7789a3a1893a00107 (patch)
tree3711abed3ce4b0f3906eade82ded0eb8a2423e3d /gcc/gimple.c
parentd1d879b1f457f88bde4053b39606f698e7c3cc94 (diff)
downloadgcc-f471fe729f9c1a3a182818c7789a3a1893a00107.zip
gcc-f471fe729f9c1a3a182818c7789a3a1893a00107.tar.gz
gcc-f471fe729f9c1a3a182818c7789a3a1893a00107.tar.bz2
gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not a valid RHS.
2011-03-22 Richard Guenther <rguenther@suse.de> * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary. * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR and REALIGN_LOAD_EXPR. (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC, DOT_PROD_EXPR or REALIGN_LOAD_EXPR. * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and DOT_PROD_EXPR case ... (expand_expr_real_2): ... here. * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR and REALIGN_LOAD_EXPR. * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs. * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries. (vect_create_epilog_for_reduction): Likewise. (vectorizable_reduction): Likewise. * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust. * tree-vect-stmts.c (vectorizable_load): Likewise. From-SVN: r171284
Diffstat (limited to 'gcc/gimple.c')
-rw-r--r--gcc/gimple.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/gimple.c b/gcc/gimple.c
index 81607d9..5af3cd4 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -2514,6 +2514,8 @@ get_gimple_rhs_num_ops (enum tree_code code)
: (SYM) == TRUTH_NOT_EXPR ? GIMPLE_UNARY_RHS \
: ((SYM) == WIDEN_MULT_PLUS_EXPR \
|| (SYM) == WIDEN_MULT_MINUS_EXPR \
+ || (SYM) == DOT_PROD_EXPR \
+ || (SYM) == REALIGN_LOAD_EXPR \
|| (SYM) == FMA_EXPR) ? GIMPLE_TERNARY_RHS \
: ((SYM) == COND_EXPR \
|| (SYM) == CONSTRUCTOR \
@@ -2522,10 +2524,7 @@ get_gimple_rhs_num_ops (enum tree_code code)
|| (SYM) == ADDR_EXPR \
|| (SYM) == WITH_SIZE_EXPR \
|| (SYM) == SSA_NAME \
- || (SYM) == POLYNOMIAL_CHREC \
- || (SYM) == DOT_PROD_EXPR \
- || (SYM) == VEC_COND_EXPR \
- || (SYM) == REALIGN_LOAD_EXPR) ? GIMPLE_SINGLE_RHS \
+ || (SYM) == VEC_COND_EXPR) ? GIMPLE_SINGLE_RHS \
: GIMPLE_INVALID_RHS),
#define END_OF_BASE_TREE_CODES (unsigned char) GIMPLE_INVALID_RHS,