public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] riscv: Fix genrvv-type-indexer dependencies
@ 2023-04-06  9:45 Jakub Jelinek
  2023-04-06 13:58 ` Kito Cheng
  0 siblings, 1 reply; 2+ messages in thread
From: Jakub Jelinek @ 2023-04-06  9:45 UTC (permalink / raw)
  To: Jeff Law; +Cc: gcc-patches

Hi!

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)

I'll bootstrap/regtest this on x86_64-linux tonight, ok for trunk?

2023-04-06  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.jj	2023-03-21 11:04:19.034831460 +0100
+++ gcc/Makefile.in	2023-04-06 10:55:58.457207062 +0200
@@ -945,7 +945,8 @@ TARGET_DEF_H = target-def.h target-hooks
 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-famil
 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
--- gcc/config/riscv/t-riscv.jj	2023-03-31 09:26:47.996219555 +0200
+++ gcc/config/riscv/t-riscv	2023-04-06 10:56:48.166479250 +0200
@@ -102,8 +102,8 @@ $(common_out_file): $(srcdir)/config/ris
     $(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 $@ \


	Jakub


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] riscv: Fix genrvv-type-indexer dependencies
  2023-04-06  9:45 [PATCH] riscv: Fix genrvv-type-indexer dependencies Jakub Jelinek
@ 2023-04-06 13:58 ` Kito Cheng
  0 siblings, 0 replies; 2+ messages in thread
From: Kito Cheng @ 2023-04-06 13:58 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Jeff Law, gcc-patches

LGTM, thanks :)

On Thu, Apr 6, 2023 at 5:46 PM Jakub Jelinek via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Hi!
>
> 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)
>
> I'll bootstrap/regtest this on x86_64-linux tonight, ok for trunk?
>
> 2023-04-06  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.jj  2023-03-21 11:04:19.034831460 +0100
> +++ gcc/Makefile.in     2023-04-06 10:55:58.457207062 +0200
> @@ -945,7 +945,8 @@ TARGET_DEF_H = target-def.h target-hooks
>  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-famil
>  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
> --- gcc/config/riscv/t-riscv.jj 2023-03-31 09:26:47.996219555 +0200
> +++ gcc/config/riscv/t-riscv    2023-04-06 10:56:48.166479250 +0200
> @@ -102,8 +102,8 @@ $(common_out_file): $(srcdir)/config/ris
>      $(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 $@ \
>
>
>         Jakub
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-04-06 13:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-06  9:45 [PATCH] riscv: Fix genrvv-type-indexer dependencies Jakub Jelinek
2023-04-06 13:58 ` Kito Cheng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).