From 31031eddacda46a500b2390f52cd4474bcaf84ca Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 3 Apr 1998 09:37:26 -0700 Subject: dummy commit before merge From-SVN: r18980 --- gcc/recog.h | 68 ++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 28 deletions(-) (limited to 'gcc/recog.h') diff --git a/gcc/recog.h b/gcc/recog.h index cd270ed2115..8918c8950b1 100644 --- a/gcc/recog.h +++ b/gcc/recog.h @@ -1,5 +1,5 @@ /* Declarations for interface to insn recognizer and insn-output.c. - Copyright (C) 1987, 1996 Free Software Foundation, Inc. + Copyright (C) 1987, 1996, 1997 Free Software Foundation, Inc. This file is part of GNU CC. @@ -20,37 +20,49 @@ Boston, MA 02111-1307, USA. */ #include "gansidecl.h" -/* Recognize an insn and return its insn-code, - which is the sequence number of the DEFINE_INSN that it matches. - If the insn does not match, return -1. */ - -extern int recog_memoized PROTO((rtx)); - -/* Determine whether a proposed change to an insn or MEM will make it - invalid. Make the change if not. */ - -extern int validate_change PROTO((rtx, rtx *, rtx, int)); - -/* Apply a group of changes if valid. */ - -extern int apply_change_group PROTO((void)); - -/* Return the number of changes so far in the current group. */ - -extern int num_validated_changes PROTO((void)); - -/* Retract some changes. */ - -extern void cancel_changes PROTO((int)); +extern void init_recog PROTO((void)); +extern void init_recog_no_volatile PROTO((void)); +extern int recog_memoized PROTO((rtx)); +extern int check_asm_operands PROTO((rtx)); +extern int validate_change PROTO((rtx, rtx *, rtx, int)); +extern int apply_change_group PROTO((void)); +extern int num_validated_changes PROTO((void)); +extern void cancel_changes PROTO((int)); +extern int constrain_operands PROTO((int, int)); +extern int memory_address_p PROTO((enum machine_mode, rtx)); +extern int strict_memory_address_p PROTO((enum machine_mode, rtx)); +extern int validate_replace_rtx PROTO((rtx, rtx, rtx)); +extern int reg_fits_class_p PROTO((rtx, enum reg_class, int, + enum machine_mode)); +extern rtx *find_single_use PROTO((rtx, rtx, rtx *)); + +extern int general_operand PROTO((rtx, enum machine_mode)); +extern int address_operand PROTO((rtx, enum machine_mode)); +extern int register_operand PROTO((rtx, enum machine_mode)); +extern int scratch_operand PROTO((rtx, enum machine_mode)); +extern int immediate_operand PROTO((rtx, enum machine_mode)); +extern int const_int_operand PROTO((rtx, enum machine_mode)); +extern int cosnt_double_operand PROTO((rtx, enum machine_mode)); +extern int nonimmediate_operand PROTO((rtx, enum machine_mode)); +extern int nonmemory_operand PROTO((rtx, enum machine_mode)); +extern int push_operand PROTO((rtx, enum machine_mode)); +extern int memory_operand PROTO((rtx, enum machine_mode)); +extern int indirect_operand PROTO((rtx, enum machine_mode)); +extern int mode_independent_operand PROTO((rtx, enum machine_mode)); +extern int comparison_operator PROTO((rtx, enum machine_mode)); + +extern int offsettable_memref_p PROTO((rtx)); +extern int offsettable_nonstrict_memref_p PROTO((rtx)); +extern int offsettable_address_p PROTO((int, enum machine_mode, rtx)); +extern int mode_dependent_address_p PROTO((rtx)); + +extern int recog PROTO((rtx, rtx, int *)); +extern void add_clobbers PROTO((rtx, int)); +extern void insn_extract PROTO((rtx)); /* Nonzero means volatile operands are recognized. */ - extern int volatile_ok; -/* Extract the operands from an insn that has been recognized. */ - -extern void insn_extract PROTO((rtx)); - /* The following vectors hold the results from insn_extract. */ /* Indexed by N, gives value of operand N. */ -- cgit v1.2.1