diff options
author | Zack Weinberg <zackw@panix.com> | 2006-01-23 15:15:05 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2006-01-23 15:15:05 +0000 |
commit | 1c7352cde8a759e414b61d3aeaf40eda67f8dd75 (patch) | |
tree | 4239faf09e39683b3cf8286950be3b1832fd451b /gcc/gensupport.h | |
parent | 245fc6392879dd2493d4be97cbd01c64d0a61adf (diff) | |
download | gcc-1c7352cde8a759e414b61d3aeaf40eda67f8dd75.zip gcc-1c7352cde8a759e414b61d3aeaf40eda67f8dd75.tar.gz gcc-1c7352cde8a759e414b61d3aeaf40eda67f8dd75.tar.bz2 |
r110123@banpei: zack | 2006-01-22 14:44:34 -0800
r110123@banpei: zack | 2006-01-22 14:44:34 -0800
* genconditions.c (condition_table, add_condition): Delete.
(write_conditions): Don't emit n_insn_conditions nor
insn_elision_unavailable. Issue the gcc version #ifdef here,
inside the table, with no #else clause ...
(write_header): ...not here.
(write_writer): New function.
(main): Don't initialize condition_table. Use add_c_test.
Call write_writer.
* gensupport.c (init_md_reader_args_cb): Handle multiple input
files on the command line.
(maybe_eval_c_test): Don't check insn_elision_unavailable.
Return -1 if there is no entry in the table, don't abort.
(add_c_test, traverse_c_tests): New functions.
* gensupport.h (insn_elision_unavailable, insn_conditions)
(n_insn_conditions): Delete declarations.
(add_c_test, traverse_c_tests): Declare.
* read-rtl.c: Include gensupport.h.
(read_conditions): New function.
(read_rtx): If read_rtx_1 returns 0, treat as EOF.
(read_rtx_1): If we get EOF when we were looking for an initial
open paren, return 0. Call read_conditions when appropriate.
* Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to
dummy-conditions.o. Eliminate references to insn-conditions.o,
or change them to build/gencondmd.o, as appropriate. Remove
insn-constants.h from $(simple_generated_h) and insn-conditions.c
from $(simple_generated_c). For all files remaining in those
two lists, add insn-conditions.md to the generator command line.
Give insn-constants.h/s-constants their own rules. Add rules
for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd.
(build/read-rtl.o): Depend on gensupport.h.
(genprognormal): Include preds.
(genprogearly): Rename genprognoprint; only difference is now that
they don't link with $(BUILD_PRINT).
* dummy-conditions.c: Delete.
From-SVN: r110119
Diffstat (limited to 'gcc/gensupport.h')
-rw-r--r-- | gcc/gensupport.h | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/gensupport.h b/gcc/gensupport.h index 51f37b7..53cbdc2 100644 --- a/gcc/gensupport.h +++ b/gcc/gensupport.h @@ -37,31 +37,27 @@ extern void message_with_line (int, const char *, ...) Must be set before calling init_md_reader. */ extern int insn_elision; -/* If this is 1, the insn elision table doesn't even exist yet; - maybe_eval_c_test will always return -1. This is distinct from - insn_elision because genflags and gencodes need to see all the - patterns, but treat elided patterns differently. */ -extern const int insn_elision_unavailable; - /* If the C test passed as the argument can be evaluated at compile time, return its truth value; else return -1. The test must have appeared somewhere in the machine description when genconditions was run. */ extern int maybe_eval_c_test (const char *); -/* This table should not be accessed directly; use maybe_eval_c_test. */ +/* Add an entry to the table of conditions. Used by genconditions and + by read-rtl.c. */ +extern void add_c_test (const char *, int); + +/* This structure is used internally by gensupport.c and genconditions.c. */ struct c_test { const char *expr; int value; }; -extern const struct c_test insn_conditions[]; -extern const size_t n_insn_conditions; - #ifdef __HASHTAB_H__ extern hashval_t hash_c_test (const void *); extern int cmp_c_test (const void *, const void *); +extern void traverse_c_tests (htab_trav, void *); #endif extern int n_comma_elts (const char *); |