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/Makefile.in | |
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/Makefile.in')
-rw-r--r-- | gcc/Makefile.in | 74 |
1 files changed, 49 insertions, 25 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 68bbb69..c6eec98 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -198,7 +198,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN) $($(@D)-warn) $(NOCOMMON_FLAG) $($@-warn) # These files are to have -Werror bypassed in stage2: # These are very hard to completely clean due to target complexities. gcc.o-warn = -Wno-error -build/insn-conditions.o-warn = -Wno-error +build/gencondmd.o-warn = -Wno-error # Bison-1.75 output often yields (harmless) -Wtraditional warnings build/gengtype-yacc.o-warn = -Wno-error # flex output may yield harmless "no previous prototype" warnings @@ -840,9 +840,7 @@ BUILD_LIBS = $(BUILD_LIBIBERTY) BUILD_RTL = build/rtl.o build/read-rtl.o build/ggc-none.o \ build/min-insn-modes.o -BUILD_SUPPORT = build/gensupport.o build/insn-conditions.o -BUILD_EARLY_SUPPORT = build/gensupport.o build/dummy-conditions.o - +BUILD_SUPPORT = build/gensupport.o BUILD_PRINT = build/print-rtl.o BUILD_ERRORS = build/errors.o BUILD_VARRAY = build/varray.o @@ -1019,7 +1017,7 @@ STAGECOPYSTUFF = insn-flags.h insn-config.h insn-codes.h \ insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \ insn-attr.h insn-attrtab.c insn-opinit.c insn-preds.c insn-constants.h \ tm-preds.h \ - tree-check.h insn-conditions.c min-insn-modes.c insn-modes.c insn-modes.h \ + tree-check.h min-insn-modes.c insn-modes.c insn-modes.h \ genrtl.c genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-gen.h # Files to be moved away after each stage in building. @@ -2678,26 +2676,38 @@ insn-recog.o : insn-recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ # The "; @true" construct forces Make to recheck the timestamp on the # target file. -simple_generated_h = insn-attr.h insn-codes.h insn-config.h \ - insn-constants.h insn-flags.h +simple_generated_h = insn-attr.h insn-codes.h insn-config.h insn-flags.h -simple_generated_c = insn-attrtab.c insn-conditions.c insn-emit.c \ - insn-extract.c insn-opinit.c insn-output.c \ - insn-peep.c insn-recog.c +simple_generated_c = insn-attrtab.c insn-emit.c insn-extract.c \ + insn-opinit.c insn-output.c insn-peep.c \ + insn-recog.c $(simple_generated_h): insn-%.h: s-%; @true -$(simple_generated_h:insn-%.h=s-%): s-%: $(MD_DEPS) build/gen%$(build_exeext) - $(RUN_GEN) build/gen$*$(build_exeext) $(md_file) > tmp-$*.h +$(simple_generated_h:insn-%.h=s-%): s-%: build/gen%$(build_exeext) \ + $(MD_DEPS) insn-conditions.md + $(RUN_GEN) build/gen$*$(build_exeext) $(md_file) \ + insn-conditions.md > tmp-$*.h $(SHELL) $(srcdir)/../move-if-change tmp-$*.h insn-$*.h $(STAMP) s-$* $(simple_generated_c): insn-%.c: s-%; @true -$(simple_generated_c:insn-%.c=s-%): s-%: $(MD_DEPS) build/gen%$(build_exeext) - $(RUN_GEN) build/gen$*$(build_exeext) $(md_file) > tmp-$*.c +$(simple_generated_c:insn-%.c=s-%): s-%: build/gen%$(build_exeext) \ + $(MD_DEPS) insn-conditions.md + $(RUN_GEN) build/gen$*$(build_exeext) $(md_file) \ + insn-conditions.md > tmp-$*.c $(SHELL) $(srcdir)/../move-if-change tmp-$*.c insn-$*.c $(STAMP) s-$* +# genconstants needs to run before insn-conditions.md is available +# (because the constants may be used in the conditions). +insn-constants.h: s-constants; @true +s-constants: build/genconstants$(build_exeext) $(MD_DEPS) + $(RUN_GEN) build/genconstants$(build_exeext) $(md_file) \ + > tmp-constants.h + $(SHELL) $(srcdir)/../move-if-change tmp-constants.h insn-constants.h + $(STAMP) s-constants + # gencheck doesn't read the machine description, and the file produced # doesn't use the insn-* convention. tree-check.h: s-check ; @true @@ -2706,6 +2716,20 @@ s-check : build/gencheck$(build_exeext) $(SHELL) $(srcdir)/../move-if-change tmp-check.h tree-check.h $(STAMP) s-check +# gencondmd doesn't use the standard naming convention. +build/gencondmd.c: s-conditions; @true +s-conditions: $(MD_DEPS) build/genconditions$(build_exeext) + $(RUN_GEN) build/genconditions$(build_exeext) $(md_file) > tmp-condmd.c + $(SHELL) $(srcdir)/../move-if-change tmp-condmd.c build/gencondmd.c + $(STAMP) s-conditions + +insn-conditions.md: s-condmd; @true +s-condmd: build/gencondmd$(build_exeext) + $(RUN_GEN) build/gencondmd$(build_exeext) > tmp-cond.md + $(SHELL) $(srcdir)/../move-if-change tmp-cond.md insn-conditions.md + $(STAMP) s-condmd + + # These files are generated by running the same generator more than # once with different options, so they have custom rules. The # stampfile idiom is the same. @@ -2859,7 +2883,6 @@ build/%.o : # dependencies provided by explicit rule later # Header dependencies for the programs that generate source code. # These are library modules... -build/dummy-conditions.o : dummy-conditions.c build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h build/gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \ $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) errors.h $(HASHTAB_H) \ @@ -2871,16 +2894,16 @@ build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H) \ build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \ $(GTM_H) $(RTL_BASE_H) build/read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \ - $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) + $(GTM_H) $(RTL_BASE_H) $(OBSTACK_H) $(HASHTAB_H) gensupport.h build/rtl.o: rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \ $(RTL_H) real.h $(GGC_H) errors.h build/varray.o: varray.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \ $(VARRAY_H) $(RTL_BASE_H) $(GGC_H) $(TREE_H) bitmap.h errors.h build/vec.o : vec.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) coretypes.h vec.h \ $(GGC_H) toplev.h -build/insn-conditions.o : insn-conditions.c $(CONFIG_H) $(SYSTEM_H) \ - $(GTM_H) $(RTL_H) $(TM_P_H) $(REGS_H) $(FUNCTION_H) $(RECOG_H) real.h \ - output.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) toplev.h reload.h \ +build/gencondmd.o : build/gencondmd.c $(CONFIG_H) $(SYSTEM_H) $(GTM_H) \ + $(RTL_H) $(TM_P_H) $(REGS_H) $(FUNCTION_H) $(RECOG_H) real.h output.h \ + $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) toplev.h reload.h \ gensupport.h insn-constants.h coretypes.h # ...these are the programs themselves. @@ -2942,15 +2965,16 @@ build/gen%$(build_exeext): build/gen%.o $(BUILD_LIBDEPS) $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS) # All these programs have the same additional dependency set. -genprognormal = attr codes config emit extract flags opinit output peep recog +genprognormal = attr codes config emit extract flags opinit output peep recog \ + preds $(genprognormal:%=build/gen%$(build_exeext)): $(BUILD_RTL) $(BUILD_SUPPORT) \ $(BUILD_PRINT) $(BUILD_ERRORS) -# And all of these, but it's a different set. -genprogearly = mddeps constants conditions preds -$(genprogearly:%=build/gen%$(build_exeext)): $(BUILD_RTL) $(BUILD_ERRORS) \ - $(BUILD_EARLY_SUPPORT) -build/genpreds$(build_exeext) : $(BUILD_PRINT) +# These don't have the glue to link with print-rtl.o. +genprognoprint = mddeps constants conditions +$(genprognoprint:%=build/gen%$(build_exeext)): $(BUILD_RTL) $(BUILD_SUPPORT) \ + $(BUILD_ERRORS) + build/gengenrtl$(build_exeext) : $(BUILD_ERRORS) build/genmodes$(build_exeext) : $(BUILD_ERRORS) |