Hello, On Fri, 28 May 2021, Bernd Edlinger wrote:
> >> I was wondering, why gimple-match.c and generic-match.c > >> are not built early but always last, which slows down parallel > >> makes significantly. > >> > >> The reason seems to be that generated_files does not > >> mention gimple-match.c and generic-match.c. > >> > >> This comment in Makefile.in says it all: > >> > >> $(ALL_HOST_OBJS) : | $(generated_files) > >> > >> So this patch adds gimple-match.c generic-match.c to generated_files. > >> > >> > >> Tested on x86_64-pc-linux-gnu. > >> Is it OK for trunk? > > > > This should help for what I was complaining about in > > https://gcc.gnu.org/pipermail/gcc/2021-May/235963.html . I build with > > -j24 and it was stalling on compiling gimple-match.c for me. > > Looks like insn-attrtab.c is missed too; I saw genattrtab was running last > > too. > > > > Yeah, probably insn-automata.c as well, sometimes it is picked up early > sometimes not. maybe $(simple_generated_c) should be added to > generated_files, but insn-attrtab.c is yet another exception. You can't put files in there that are sometimes slow to generate (which insn-{attrtab,automata}.c are on some targets), as _everything_ then waits for them to be created first. Ideally there would be a way for gnumake to mark some targets as "ugh-slow" and back-propagate this to all dependencies so that those are put in front of the work queue in a parallel make. Alas, something like that never came into existence :-/ (When order-only deps were introduced I got excited, but then came to realize that that wasn't what was really needed for this case, a "weak" version of it would be required at least, or better yet a specific facility to impose a cost with a target) Ciao, Michael. > > > Bernd. > > > Thanks, > > Andrew > > > >> > >> > >> Thanks > >> Bernd. > >> > >> > >> 2021-05-28 Bernd Edlinger <bernd.edlin...@hotmail.de> > >> > >> * Makefile.in (generated_files): Add gimple-match.c and > >> generic-match.c >