From f471fe729f9c1a3a182818c7789a3a1893a00107 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Tue, 22 Mar 2011 11:12:57 +0000 Subject: gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not a valid RHS. 2011-03-22 Richard Guenther * 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 --- gcc/tree-cfg.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gcc/tree-cfg.c') diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 1f533a3..6fe6b90 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -3669,6 +3669,11 @@ verify_gimple_assign_ternary (gimple stmt) } break; + case DOT_PROD_EXPR: + case REALIGN_LOAD_EXPR: + /* FIXME. */ + return false; + default: gcc_unreachable (); } @@ -3799,10 +3804,7 @@ verify_gimple_assign_single (gimple stmt) case OBJ_TYPE_REF: case ASSERT_EXPR: case WITH_SIZE_EXPR: - case POLYNOMIAL_CHREC: - case DOT_PROD_EXPR: case VEC_COND_EXPR: - case REALIGN_LOAD_EXPR: /* FIXME. */ return res; -- cgit v1.1