2003-09-04 Eric Christopher <echristo@redhat.com>
[official-gcc.git] / gcc / genattrtab.h
blob1af43c0a191682ed2f7bae0a98571efb9a0d94c2
1 /* External definitions of source files of genattrtab.
2 Copyright (C) 2001, 2003 Free Software Foundation, Inc.
4 This file is part of GCC.
6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING. If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
21 /* Name of function (attribute) to translate insn into number of insn
22 alternatives reservation. */
23 #define INSN_ALTS_FUNC_NAME "insn_alts"
25 /* Defined in genattrtab.c: */
26 extern rtx check_attr_test (rtx, int, int);
27 extern rtx make_numeric_value (int);
28 extern void make_internal_attr (const char *, rtx, int);
29 extern char *attr_printf (unsigned int, const char *, ...)
30 ATTRIBUTE_PRINTF_2;
32 extern int num_dfa_decls;
34 /* Defined in genautomata.c: */
35 extern void gen_cpu_unit (rtx);
36 extern void gen_query_cpu_unit (rtx);
37 extern void gen_bypass (rtx);
38 extern void gen_excl_set (rtx);
39 extern void gen_presence_set (rtx);
40 extern void gen_final_presence_set (rtx);
41 extern void gen_absence_set (rtx);
42 extern void gen_final_absence_set (rtx);
43 extern void gen_automaton (rtx);
44 extern void gen_automata_option (rtx);
45 extern void gen_reserv (rtx);
46 extern void gen_insn_reserv (rtx);
47 extern void initiate_automaton_gen (int, char **);
48 extern void expand_automata (void);
49 extern void write_automata (void);
51 /* Flags for make_internal_attr's `special' parameter. */
52 #define ATTR_NONE 0
53 #define ATTR_SPECIAL (1 << 0)
54 #define ATTR_NEGATIVE_OK (1 << 1)
55 #define ATTR_UNSIGNED (1 << 2)
56 #define ATTR_FUNC_UNITS (1 << 3)
57 #define ATTR_BLOCKAGE (1 << 4)
58 #define ATTR_STATIC (1 << 5)