From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 686913858CDA; Tue, 31 Oct 2023 12:48:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 686913858CDA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1698756506; bh=17V57/uS9ykWpybUSYjc2sfzIT5z08M3kqFVTgMMqXI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=P2bb1kjT7kMkBQ7bLnvF5DHdSJ+kiCZYj8VZvSu7MtV68Zy3Bi/QMX/R6HGeSYylJ 2gsvYcWeIhfWcrb514pViAX1DrbRaggOF1LEonl26abxtjRm7Htl6R43ylnWnAylxq sVJdq4WOjdGVQRAA5rdlHJAyxVUM68vrQItjMfqY= From: "sjames at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/54179] please split insn-emit.c ! Date: Tue, 31 Oct 2023 12:48:21 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: lto X-Bugzilla-Keywords: compile-time-hog, memory-hog X-Bugzilla-Severity: enhancement X-Bugzilla-Who: sjames at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: target_milestone bug_status resolution Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D54179 Sam James changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |14.0 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #35 from Sam James --- Done in commit 184378027e92f51e02d3649e0ca523f487fd2810 Author: Robin Dapp Date: Thu Oct 12 11:23:26 2023 +0200 genemit: Split insn-emit.cc into several partitions. On riscv insn-emit.cc has grown to over 1.2 mio lines of code and compiling it takes considerable time. Therefore, this patch adjust genemit to create several partitions (insn-emit-1.cc to insn-emit-n.cc). The available patterns are written to the given files in a sequential fashion. Similar to match.pd a configure option --with-emitinsn-partitions=3Dnum is introduced that makes the number of partition configurable. gcc/ChangeLog: PR bootstrap/84402 PR target/111600 * Makefile.in: Handle split insn-emit.cc. * configure: Regenerate. * configure.ac: Add --with-insnemit-partitions. * genemit.cc (output_peephole2_scratches): Print to file instead of stdout. (print_code): Ditto. (gen_rtx_scratch): Ditto. (gen_exp): Ditto. (gen_emit_seq): Ditto. (emit_c_code): Ditto. (gen_insn): Ditto. (gen_expand): Ditto. (gen_split): Ditto. (output_add_clobbers): Ditto. (output_added_clobbers_hard_reg_p): Ditto. (print_overload_arguments): Ditto. (print_overload_test): Ditto. (handle_overloaded_code_for): Ditto. (handle_overloaded_gen): Ditto. (print_header): New function. (handle_arg): New function. (main): Split output into 10 files. * gensupport.cc (count_patterns): New function. * gensupport.h (count_patterns): Define. * read-md.cc (md_reader::print_md_ptr_loc): Add file argument. * read-md.h (class md_reader): Change definition. for 14. 14 will therefore have both split insn-emit as well as *-match from tamar earlier in the year, which makes life a lot easier with constrained resourc= es. I've also backported it downstream as well. I don't think anyone plans on d= oing it upstream.=