Commit 47d2cee5 by Zack Weinberg

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
parent 8fe75e43
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> 2004-08-12 Richard Henderson <rth@redhat.com>
* config/i386/i386.c (internal_label_prefix): Export. * config/i386/i386.c (internal_label_prefix): Export.
...@@ -5,9 +11,9 @@ ...@@ -5,9 +11,9 @@
ix86_decompose_address, maybe_get_pool_constant, ix86_decompose_address, maybe_get_pool_constant,
ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes, ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
memory_address_length): Export. 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, 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_nonmemory_operand, x86_64_movabs_operand,
x86_64_szext_nonmemory_operand, x86_64_immediate_operand, x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
x86_64_zext_immediate_operand, const_int_1_31_operand, x86_64_zext_immediate_operand, const_int_1_31_operand,
...@@ -23,10 +29,10 @@ ...@@ -23,10 +29,10 @@
index_register_operand, q_regs_operand, flags_reg_operand, index_register_operand, q_regs_operand, flags_reg_operand,
non_q_regs_operand, zero_extended_scalar_load_operand, non_q_regs_operand, zero_extended_scalar_load_operand,
vector_move_operand, no_seg_address_operand, sse_comparison_operator, 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, fcmov_comparison_operator, promotable_binary_operator,
cmp_fp_expander_operand, ext_register_operand, binary_fp_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, memory_displacement_operand, cmpsi_operand, long_memory_operand,
aligned_operand): Move to predicates.md as define_predicates. aligned_operand): Move to predicates.md as define_predicates.
(tls_symbolic_operand_1): Remove. (tls_symbolic_operand_1): Remove.
...@@ -66,7 +72,7 @@ ...@@ -66,7 +72,7 @@
(dbx_debug_hooks): Use new begin prologue hook. (dbx_debug_hooks): Use new begin prologue hook.
(dbxout_function_end): Emit N_ENSYM. (dbxout_function_end): Emit N_ENSYM.
* stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs. * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
2004-08-12 Janis Johnson <janis187@us.ibm.com> 2004-08-12 Janis Johnson <janis187@us.ibm.com>
* config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
......
...@@ -974,8 +974,18 @@ add_to_sequence (rtx pattern, struct decision_head *last, const char *position, ...@@ -974,8 +974,18 @@ add_to_sequence (rtx pattern, struct decision_head *last, const char *position,
{ {
test->u.pred.data = pred; test->u.pred.data = pred;
allows_const_int = pred->codes[CONST_INT]; 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. */ /* Can't enforce a mode if we allow const_int. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment