diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2004-08-13 06:36:21 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2004-08-13 06:36:21 +0000 |
commit | 47d2cee50d64825872e97186da5a683dcabb5943 (patch) | |
tree | 6bcc0c4a0000dbc6ed0bd19b245971600293fbae | |
parent | 8fe75e43623a88a049f0f33191fdffce583a69c3 (diff) | |
download | gcc-47d2cee50d64825872e97186da5a683dcabb5943.zip gcc-47d2cee50d64825872e97186da5a683dcabb5943.tar.gz gcc-47d2cee50d64825872e97186da5a683dcabb5943.tar.bz2 |
genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL...
* genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
if pred->singleton != PARALLEL, issue a warning and pretend it was.
Also issue a warning for any predicate we don't know about.
From-SVN: r85933
-rw-r--r-- | gcc/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/genrecog.c | 12 |
2 files changed, 22 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68fcc19..44b45aa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-08-12 Zack Weinberg <zack@codesourcery.com> + + * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL, + if pred->singleton != PARALLEL, issue a warning and pretend it was. + Also issue a warning for any predicate we don't know about. + 2004-08-12 Richard Henderson <rth@redhat.com> * config/i386/i386.c (internal_label_prefix): Export. @@ -5,9 +11,9 @@ ix86_decompose_address, maybe_get_pool_constant, ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes, memory_address_length): Export. - (any_fp_register_operand, fp_register_operand, + (any_fp_register_operand, fp_register_operand, register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand, - x86_64_general_operand, x86_64_szext_general_operand, + x86_64_general_operand, x86_64_szext_general_operand, x86_64_nonmemory_operand, x86_64_movabs_operand, x86_64_szext_nonmemory_operand, x86_64_immediate_operand, x86_64_zext_immediate_operand, const_int_1_31_operand, @@ -23,10 +29,10 @@ index_register_operand, q_regs_operand, flags_reg_operand, non_q_regs_operand, zero_extended_scalar_load_operand, vector_move_operand, no_seg_address_operand, sse_comparison_operator, - ix86_comparison_operator, ix86_carry_flag_operator, + ix86_comparison_operator, ix86_carry_flag_operator, fcmov_comparison_operator, promotable_binary_operator, cmp_fp_expander_operand, ext_register_operand, binary_fp_operator, - mult_operator, div_operator, arith_or_logical_operator, + mult_operator, div_operator, arith_or_logical_operator, memory_displacement_operand, cmpsi_operand, long_memory_operand, aligned_operand): Move to predicates.md as define_predicates. (tls_symbolic_operand_1): Remove. @@ -66,7 +72,7 @@ (dbx_debug_hooks): Use new begin prologue hook. (dbxout_function_end): Emit N_ENSYM. * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs. - + 2004-08-12 Janis Johnson <janis187@us.ibm.com> * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first diff --git a/gcc/genrecog.c b/gcc/genrecog.c index f3c052c..c1d559f 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -974,8 +974,18 @@ add_to_sequence (rtx pattern, struct decision_head *last, const char *position, { test->u.pred.data = pred; allows_const_int = pred->codes[CONST_INT]; - code = pred->singleton; + if (was_code == MATCH_PARALLEL + && pred->singleton != PARALLEL) + message_with_line (pattern_lineno, + "predicate '%s' used in match_parallel " + "does not allow only PARALLEL", pred->name); + else + code = pred->singleton; } + else + message_with_line (pattern_lineno, + "warning: unknown predicate '%s' in '%s' expression", + pred_name, GET_RTX_NAME (was_code)); } /* Can't enforce a mode if we allow const_int. */ |