diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-23 15:15:05 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-23 15:15:05 +0000 |
commit | af908c02d4c893024a3ccfa73244b96a10caeb2f (patch) | |
tree | 4239faf09e39683b3cf8286950be3b1832fd451b /gcc/gensupport.h | |
parent | 0a1039d0a6d67e2b6c303ceb4079deead1e6b108 (diff) | |
download | gcc-af908c02d4c893024a3ccfa73244b96a10caeb2f.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110119 138bc75d-0d04-0410-961f-82ee72b054a4
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 51f37b7bc7c..53cbdc23b6e 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 *); |