gencodes.c (output_predicate_decls): New function.
* gencodes.c (output_predicate_decls): New function. (main): Call it. * machmode.h (GET_MODE_MASK): Arrange for it to be defined even if it is not the first time machmode.h is #included. * config/sh/sh.c (fpul_operand): Declare MODE argument. * tm.texi (PREDICATE_CODES): Document predicate declarations. * gcc.texi (Copyright): Added 2001. From-SVN: r38673
This commit is contained in:
parent
03dc032560
commit
975d393ab8
@ -1,3 +1,13 @@
|
||||
2001-01-03 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* gencodes.c (output_predicate_decls): New function.
|
||||
(main): Call it.
|
||||
* machmode.h (GET_MODE_MASK): Arrange for it to be defined
|
||||
even if it is not the first time machmode.h is #included.
|
||||
* config/sh/sh.c (fpul_operand): Declare MODE argument.
|
||||
* tm.texi (PREDICATE_CODES): Document predicate declarations.
|
||||
* gcc.texi (Copyright): Added 2001.
|
||||
|
||||
2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* c-common.c (c_common_lang_init): New function. Warn if format
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Output routines for GCC for Hitachi Super-H.
|
||||
Copyright (C) 1993, 1994, 1995, 1997, 1997, 1998, 1999, 2000
|
||||
Copyright (C) 1993, 1994, 1995, 1997, 1997, 1998, 1999, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Steve Chamberlain (sac@cygnus.com).
|
||||
Improved by Jim Wilson (wilson@cygnus.com).
|
||||
@ -4793,6 +4793,7 @@ fpscr_operand (op, mode)
|
||||
int
|
||||
fpul_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
{
|
||||
return (GET_CODE (op) == REG
|
||||
&& (REGNO (op) == FPUL_REG || REGNO (op) >= FIRST_PSEUDO_REGISTER)
|
||||
|
@ -100,7 +100,8 @@ Published by the Free Software Foundation@*
|
||||
59 Temple Place - Suite 330@*
|
||||
Boston, MA 02111-1307 USA
|
||||
@sp 1
|
||||
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
@sp 1
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
|
@ -2,7 +2,7 @@
|
||||
- some macros CODE_FOR_... giving the insn_code_number value
|
||||
for each of the defined standard insn names.
|
||||
Copyright (C) 1987, 1991, 1995, 1998,
|
||||
1999, 2000 Free Software Foundation, Inc.
|
||||
1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -32,6 +32,7 @@ Boston, MA 02111-1307, USA. */
|
||||
static int insn_code_number;
|
||||
|
||||
static void gen_insn PARAMS ((rtx));
|
||||
static void output_predicate_decls PARAMS ((void));
|
||||
static int print_md_constant PARAMS ((void **, void *));
|
||||
|
||||
static void
|
||||
@ -46,6 +47,30 @@ gen_insn (insn)
|
||||
insn_code_number);
|
||||
}
|
||||
|
||||
/* Print out declarations for all predicates mentioned in
|
||||
PREDICATE_CODES. */
|
||||
|
||||
static void
|
||||
output_predicate_decls ()
|
||||
{
|
||||
#ifdef PREDICATE_CODES
|
||||
static struct {
|
||||
const char *name;
|
||||
RTX_CODE codes[NUM_RTX_CODE];
|
||||
} *p, predicate[] = {
|
||||
PREDICATE_CODES
|
||||
{NULL, {}}
|
||||
};
|
||||
|
||||
putc ('\n', stdout);
|
||||
puts ("struct rtx_def;\n#include \"machmode.h\"\n");
|
||||
for (p = predicate; p->name; p++)
|
||||
printf ("extern int %s PARAMS ((struct rtx_def *, enum machine_mode));\n",
|
||||
p->name);
|
||||
putc ('\n', stdout);
|
||||
#endif
|
||||
}
|
||||
|
||||
extern int main PARAMS ((int, char **));
|
||||
|
||||
int
|
||||
@ -91,6 +116,8 @@ from the machine description file `md'. */\n\n");
|
||||
|
||||
traverse_md_constants (print_md_constant, stdout);
|
||||
|
||||
output_predicate_decls ();
|
||||
|
||||
printf ("\n#endif /* MAX_INSN_CODE */\n");
|
||||
|
||||
fflush (stdout);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Machine mode definitions for GNU C-Compiler; included by rtl.h and tree.h.
|
||||
Copyright (C) 1991, 1993, 1994, 1996, 1998, 1999, 2000
|
||||
Copyright (C) 1991, 1993, 1994, 1996, 1998, 1999, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
@ -96,7 +96,9 @@ extern const unsigned int mode_unit_size[];
|
||||
extern const unsigned int mode_bitsize[];
|
||||
#define GET_MODE_BITSIZE(MODE) (mode_bitsize[(int) (MODE)])
|
||||
|
||||
#ifdef HOST_WIDE_INT
|
||||
#endif /* not HAVE_MACHINE_MODES */
|
||||
|
||||
#if defined HOST_WIDE_INT && ! defined GET_MODE_MASK
|
||||
|
||||
/* Get a bitmask containing 1 for all bits in a word
|
||||
that fit within mode MODE. */
|
||||
@ -105,7 +107,10 @@ extern const unsigned HOST_WIDE_INT mode_mask_array[];
|
||||
|
||||
#define GET_MODE_MASK(MODE) mode_mask_array[(int) (MODE)]
|
||||
|
||||
#endif /* HOST_WIDE_INT */
|
||||
#endif /* defined (HOST_WIDE_INT) && ! defined GET_MODE_MASK */
|
||||
|
||||
#if ! defined GET_MODE_WIDER_MODE || ! defined GET_MODE_ALIGNMENT \
|
||||
|| ! defined GET_CLASS_NARROWEST_MODE
|
||||
|
||||
/* Get the next wider natural mode (eg, QI -> HI -> SI -> DI -> TI). */
|
||||
|
||||
@ -153,4 +158,5 @@ extern enum machine_mode byte_mode;
|
||||
extern enum machine_mode word_mode;
|
||||
extern enum machine_mode ptr_mode;
|
||||
|
||||
#endif /* not HAVE_MACHINE_MODES */
|
||||
#endif /* ! defined GET_MODE_WIDER_MODE || ! defined GET_MODE_ALIGNMENT
|
||||
|| ! defined GET_CLASS_NARROWEST_MODE */
|
||||
|
@ -7576,6 +7576,9 @@ thus speeding up the compiler. The most important predicates to include
|
||||
in the list specified by this macro are those used in the most insn
|
||||
patterns.
|
||||
|
||||
For each predicate function named in @var{PREDICATE_CODES}, a
|
||||
declaration will be generated in @file{insn-codes.h}.
|
||||
|
||||
@item SPECIAL_MODE_PREDICATES
|
||||
@findex SPECIAL_MODE_PREDICATES
|
||||
Define this if you have special predicates that know special things
|
||||
|
Loading…
Reference in New Issue
Block a user