riscv: Fix genrvv-type-indexer dependencies
authorJakub Jelinek <jakub@redhat.com>
Sat, 8 Apr 2023 10:05:04 +0000 (12:05 +0200)
committerJakub Jelinek <jakub@redhat.com>
Sat, 8 Apr 2023 10:05:04 +0000 (12:05 +0200)
I've noticed
make: Circular build/genrvv-type-indexer.o <- gtype-desc.h dependency dropped.

The following patch fixes that.  The RTL_BASE_H variable includes a lot of
headers which the generator doesn't include, including gtype-desc.h.
I've preprocessed it and checked all gcc/libiberty headers against what is
included in the other dependency variables and here is what I found:
1) coretypes.h includes align.h, poly-int.h and poly-int-types.h which
   weren't listed (most of dependencies are thankfully done automatically,
   so it isn't that big deal except for these generators and the like)
2) system.h includes filenames.h (already listed) but filenames.h includes
   hashtab.h; instead of adding FILENAMES_H I've just added the dependency
   to SYSTEM_H
3) $(RTL_BASE_H) wasn't really needed at all and insn-modes.h is already
   included in $(CORETYPES_H)

2023-04-08  Jakub Jelinek  <jakub@redhat.com>

* Makefile.in (CORETYPES_H): Depend on align.h, poly-int.h and
poly-int-types.h.
(SYSTEM_H): Depend on $(HASHTAB_H).
* config/riscv/t-riscv (build/genrvv-type-indexer.o): Remove unused
dependency on $(RTL_BASE_H), remove redundant dependency on
insn-modes.h.

gcc/Makefile.in
gcc/config/riscv/t-riscv

index d8b76d8..ad9a5d9 100644 (file)
@@ -945,7 +945,8 @@ TARGET_DEF_H = target-def.h target-hooks-def.h $(HOOKS_H) targhooks.h
 C_TARGET_DEF_H = c-family/c-target-def.h c-family/c-target-hooks-def.h \
   $(TREE_H) $(C_COMMON_H) $(HOOKS_H) common/common-targhooks.h
 CORETYPES_H = coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h \
-  insn-modes-inline.h $(MACHMODE_H) double-int.h
+  insn-modes-inline.h $(MACHMODE_H) double-int.h align.h poly-int.h \
+  poly-int-types.h
 RTL_BASE_H = $(CORETYPES_H) rtl.h rtl.def reg-notes.def \
   insn-notes.def $(INPUT_H) $(REAL_H) statistics.h $(VEC_H) \
   $(FIXED_VALUE_H) alias.h $(HASHTAB_H)
@@ -998,7 +999,8 @@ C_COMMON_H = c-family/c-common.h c-family/c-common.def $(TREE_H) \
 C_PRAGMA_H = c-family/c-pragma.h $(CPPLIB_H)
 C_TREE_H = c/c-tree.h $(C_COMMON_H) $(DIAGNOSTIC_H)
 SYSTEM_H = system.h hwint.h $(srcdir)/../include/libiberty.h \
-       $(srcdir)/../include/safe-ctype.h $(srcdir)/../include/filenames.h
+       $(srcdir)/../include/safe-ctype.h $(srcdir)/../include/filenames.h \
+       $(HASHTAB_H)
 PREDICT_H = predict.h predict.def
 CPPLIB_H = $(srcdir)/../libcpp/include/line-map.h \
        $(srcdir)/../libcpp/include/cpplib.h
index 6e326fc..1252d6f 100644 (file)
@@ -102,8 +102,8 @@ $(common_out_file): $(srcdir)/config/riscv/riscv-cores.def \
     $(srcdir)/config/riscv/riscv-protos.h \
     $(srcdir)/config/riscv/riscv-subset.h
 
-build/genrvv-type-indexer.o: $(srcdir)/config/riscv/genrvv-type-indexer.cc $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)      \
-  $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H) insn-modes.h
+build/genrvv-type-indexer.o: $(srcdir)/config/riscv/genrvv-type-indexer.cc $(BCONFIG_H) $(SYSTEM_H)    \
+  $(CORETYPES_H) $(GTM_H) errors.h $(GENSUPPORT_H)
 
 build/genrvv-type-indexer$(build_exeext): build/genrvv-type-indexer.o
        +$(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \