summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-13 06:36:21 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-13 06:36:21 +0000
commitd7bdd8d321be21812e90e422a014e68937389e9a (patch)
tree6bcc0c4a0000dbc6ed0bd19b245971600293fbae /gcc
parentc629a39ad4e748aecfed5155becfaf9ff8221f6e (diff)
downloadgcc-d7bdd8d321be21812e90e422a014e68937389e9a.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85933 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/genrecog.c12
2 files changed, 22 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 68fcc19e67e..44b45aadad0 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 f3c052c4fbe..c1d559ffe74 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. */