summaryrefslogtreecommitdiff
path: root/gcc/recog.h
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1998-04-03 09:37:26 -0700
committerJeff Law <law@gcc.gnu.org>1998-04-03 09:37:26 -0700
commit31031eddacda46a500b2390f52cd4474bcaf84ca (patch)
tree28111445709b1e369e559db59f8c46cf5b81a203 /gcc/recog.h
parent732dcb6f2a8254467d15cffc3cebf3467c4d010f (diff)
downloadgcc-31031eddacda46a500b2390f52cd4474bcaf84ca.tar.gz
dummy commit before merge
From-SVN: r18980
Diffstat (limited to 'gcc/recog.h')
-rw-r--r--gcc/recog.h68
1 files changed, 40 insertions, 28 deletions
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. */