From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gcc-patches:master commit in: 15.0.0/gentoo/
Date: Mon, 25 Nov 2024 15:10:09 +0000 (UTC) [thread overview]
Message-ID: <1732547389.12bd49fdb9c159ea05e498160adef179467bc729.sam@gentoo> (raw)
commit: 12bd49fdb9c159ea05e498160adef179467bc729
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 25 15:09:49 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 25 15:09:49 2024 +0000
URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=12bd49fd
15.0.0: drop 72_all_PR111600-genemit-Distribute-evenly-to-files.patch
Now merged upstream.
Signed-off-by: Sam James <sam <AT> gentoo.org>
...111600-genemit-Distribute-evenly-to-files.patch | 194 ---------------------
15.0.0/gentoo/README.history | 4 +
2 files changed, 4 insertions(+), 194 deletions(-)
diff --git a/15.0.0/gentoo/72_all_PR111600-genemit-Distribute-evenly-to-files.patch b/15.0.0/gentoo/72_all_PR111600-genemit-Distribute-evenly-to-files.patch
deleted file mode 100644
index 287e082..0000000
--- a/15.0.0/gentoo/72_all_PR111600-genemit-Distribute-evenly-to-files.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-https://inbox.sourceware.org/gcc-patches/D5S1TZK05IYW.2D2RLLK7L1ZQ1@gmail.com/
-
-From 359fea7741c6c8f98239aa32f5c3b6f4a582567b Mon Sep 17 00:00:00 2001
-Message-ID: <359fea7741c6c8f98239aa32f5c3b6f4a582567b.1732312478.git.sam@gentoo.org>
-From: Robin Dapp <rdapp.gcc@gmail.com>
-Date: Thu, 21 Nov 2024 18:56:32 +0100
-Subject: [PATCH] genemit: Distribute evenly to files [PR111600].
-
-Hi,
-
-currently we distribute insn patterns in genemit, partitioning them
-by the number of patterns per file. The first 100 into file 1, the
-next 100 into file 2, and so on. Depending on the patterns this
-can lead to files of very uneven size.
-
-Similar to the genmatch split, this patch introduces a dynamic
-choose_output () which considers the size of the output files
-and selects the shortest one for the next pattern.
-
-Bootstrapped and regtested on x86 and power10, aarch64 running.
-Regtested on rv64gcv.
-
-gcc/ChangeLog:
-
- PR target/111600
-
-* genemit.cc (handle_arg): Use files instead of filenames.
- (main): Ditto.
- * gensupport.cc (SIZED_BASED_CHUNKS): Define.
- (choose_output): New function.
- * gensupport.h (choose_output): Declare.
----
- gcc/genemit.cc | 53 ++++++++++++++---------------------------------
- gcc/gensupport.cc | 33 +++++++++++++++++++++++++++++
- gcc/gensupport.h | 1 +
- 3 files changed, 50 insertions(+), 37 deletions(-)
-
-diff --git a/gcc/genemit.cc b/gcc/genemit.cc
-index 5d3d10f5061a..518fb85ce8c8 100644
---- a/gcc/genemit.cc
-+++ b/gcc/genemit.cc
-@@ -905,14 +905,15 @@ from the machine description file `md'. */\n\n");
- fprintf (file, "#include \"target.h\"\n\n");
- }
-
--auto_vec<const char *, 10> output_files;
-+auto_vec<FILE *, 10> output_files;
-
- static bool
- handle_arg (const char *arg)
- {
- if (arg[1] == 'O')
- {
-- output_files.safe_push (&arg[2]);
-+ FILE *file = fopen (&arg[2], "w");
-+ output_files.safe_push (file);
- return true;
- }
- return false;
-@@ -933,47 +934,21 @@ main (int argc, const char **argv)
- /* Assign sequential codes to all entries in the machine description
- in parallel with the tables in insn-output.cc. */
-
-- int npatterns = count_patterns ();
- md_rtx_info info;
-
-- bool to_stdout = false;
-- int npatterns_per_file = npatterns;
-- if (!output_files.is_empty ())
-- npatterns_per_file = npatterns / output_files.length () + 1;
-- else
-- to_stdout = true;
--
-- gcc_assert (npatterns_per_file > 1);
-+ if (output_files.is_empty ())
-+ output_files.safe_push (stdout);
-
-- /* Reverse so we can pop the first-added element. */
-- output_files.reverse ();
-+ for (auto f : output_files)
-+ print_header (f);
-
-- int count = 0;
- FILE *file = NULL;
-+ unsigned file_idx;
-
- /* Read the machine description. */
- while (read_md_rtx (&info))
- {
-- if (count == 0 || count == npatterns_per_file)
-- {
-- bool is_last = !to_stdout && output_files.is_empty ();
-- if (file && !is_last)
-- if (fclose (file) != 0)
-- return FATAL_EXIT_CODE;
--
-- if (!output_files.is_empty ())
-- {
-- const char *const filename = output_files.pop ();
-- file = fopen (filename, "w");
-- }
-- else if (to_stdout)
-- file = stdout;
-- else
-- break;
--
-- print_header (file);
-- count = 0;
-- }
-+ file = choose_output (output_files, file_idx);
-
- switch (GET_CODE (info.def))
- {
-@@ -999,10 +974,10 @@ main (int argc, const char **argv)
- default:
- break;
- }
--
-- count++;
- }
-
-+ file = choose_output (output_files, file_idx);
-+
- /* Write out the routines to add CLOBBERs to a pattern and say whether they
- clobber a hard reg. */
- output_add_clobbers (&info, file);
-@@ -1015,5 +990,9 @@ main (int argc, const char **argv)
- handle_overloaded_gen (oname, file);
- }
-
-- return (fclose (file) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
-+ for (FILE *f : output_files)
-+ if (fclose (f) != 0)
-+ return FATAL_EXIT_CODE;
-+
-+ return SUCCESS_EXIT_CODE;
- }
-diff --git a/gcc/gensupport.cc b/gcc/gensupport.cc
-index 3a02132c8761..e0adf0c1bc54 100644
---- a/gcc/gensupport.cc
-+++ b/gcc/gensupport.cc
-@@ -3913,3 +3913,36 @@ find_optab (optab_pattern *p, const char *name)
- }
- return false;
- }
-+
-+/* Find the file to write into next. We try to evenly distribute the contents
-+ over the different files. */
-+
-+#define SIZED_BASED_CHUNKS 1
-+
-+FILE *
-+choose_output (const vec<FILE *> &parts, unsigned &idx)
-+{
-+ if (parts.length () == 0)
-+ gcc_unreachable ();
-+#ifdef SIZED_BASED_CHUNKS
-+ FILE *shortest = NULL;
-+ long min = 0;
-+ idx = 0;
-+ for (unsigned i = 0; i < parts.length (); i++)
-+ {
-+ FILE *part = parts[i];
-+ long len = ftell (part);
-+ if (!shortest || min > len)
-+ {
-+ shortest = part;
-+ min = len;
-+ idx = i;
-+ }
-+ }
-+ return shortest;
-+#else
-+ static int current_file;
-+ idx = current_file++ % parts.length ();
-+ return parts[idx];
-+#endif
-+}
-diff --git a/gcc/gensupport.h b/gcc/gensupport.h
-index b7a1da34518c..781c9e9ffcea 100644
---- a/gcc/gensupport.h
-+++ b/gcc/gensupport.h
-@@ -231,5 +231,6 @@ extern file_location get_file_location (rtx);
- extern const char *get_emit_function (rtx);
- extern bool needs_barrier_p (rtx);
- extern bool find_optab (optab_pattern *, const char *);
-+extern FILE *choose_output (const vec<FILE *> &, unsigned &);
-
- #endif /* GCC_GENSUPPORT_H */
-
-base-commit: 76c202329458aad027ececc59d666e4995e3644e
---
-2.47.0
-
diff --git a/15.0.0/gentoo/README.history b/15.0.0/gentoo/README.history
index 7a89c63..926d4de 100644
--- a/15.0.0/gentoo/README.history
+++ b/15.0.0/gentoo/README.history
@@ -1,3 +1,7 @@
+??
+
+ - 72_all_PR111600-genemit-Distribute-evenly-to-files.patch
+
28 25 November 2024
+ 72_all_PR111600-genemit-Distribute-evenly-to-files.patch
next reply other threads:[~2024-11-25 15:10 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-25 15:10 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-01-15 11:41 [gentoo-commits] proj/gcc-patches:master commit in: 15.0.0/gentoo/ Sam James
2025-01-14 16:22 Sam James
2025-01-14 15:06 Sam James
2025-01-14 15:06 Sam James
2025-01-14 12:29 Sam James
2025-01-14 8:43 Sam James
2025-01-14 8:40 Sam James
2025-01-13 13:58 Sam James
2025-01-13 6:00 Sam James
2025-01-13 3:40 Sam James
2025-01-13 3:23 Sam James
2025-01-13 3:20 Sam James
2025-01-13 0:20 Sam James
2025-01-12 18:53 Sam James
2025-01-11 12:53 Sam James
2025-01-08 21:51 Sam James
2025-01-06 10:50 Sam James
2025-01-06 10:03 Sam James
2025-01-06 4:49 Sam James
2025-01-06 4:44 Sam James
2025-01-06 4:13 Sam James
2025-01-06 4:13 Sam James
2025-01-06 4:13 Sam James
2025-01-06 4:03 Sam James
2025-01-05 23:19 Sam James
2025-01-03 3:07 Sam James
2024-12-30 1:05 Sam James
2024-12-29 10:00 Sam James
2024-12-27 15:14 Sam James
2024-12-24 20:48 Sam James
2024-12-22 22:46 Sam James
2024-12-20 11:25 Sam James
2024-12-20 5:57 Sam James
2024-12-20 1:55 Sam James
2024-12-19 18:34 Sam James
2024-12-13 13:23 Sam James
2024-12-13 11:52 Sam James
2024-12-13 5:08 Sam James
2024-12-12 12:28 Sam James
2024-12-11 4:41 Sam James
2024-12-11 0:58 Sam James
2024-12-10 19:19 Sam James
2024-12-10 14:55 Sam James
2024-12-10 5:19 Sam James
2024-12-10 5:13 Sam James
2024-12-10 5:11 Sam James
2024-12-10 5:07 Sam James
2024-12-09 3:05 Sam James
2024-12-08 22:41 Sam James
2024-12-06 17:33 Sam James
2024-12-04 20:40 Sam James
2024-12-01 22:51 Sam James
2024-12-01 22:51 Sam James
2024-11-30 11:30 Sam James
2024-11-27 17:42 Sam James
2024-11-25 3:01 Sam James
2024-11-25 3:00 Sam James
2024-11-25 3:00 Sam James
2024-11-24 22:42 Sam James
2024-11-18 17:25 Sam James
2024-11-18 10:42 Sam James
2024-11-18 10:42 Sam James
2024-11-18 9:25 Sam James
2024-11-18 9:25 Sam James
2024-11-14 18:38 Sam James
2024-11-13 4:26 Sam James
2024-11-13 0:16 Sam James
2024-11-12 2:33 Sam James
2024-11-11 19:46 Sam James
2024-11-11 19:46 Sam James
2024-11-10 22:41 Sam James
2024-11-09 16:24 Sam James
2024-11-09 7:55 Sam James
2024-11-08 8:22 Sam James
2024-11-07 16:13 Sam James
2024-11-03 23:16 Sam James
2024-11-01 8:24 Sam James
2024-11-01 8:24 Sam James
2024-11-01 8:18 Sam James
2024-11-01 8:17 Sam James
2024-10-30 16:03 Sam James
2024-10-29 19:17 Sam James
2024-10-28 21:32 Sam James
2024-10-28 8:09 Sam James
2024-10-23 15:40 Sam James
2024-10-22 19:09 Sam James
2024-10-22 18:34 Sam James
2024-10-21 12:33 Sam James
2024-10-21 12:27 Sam James
2024-10-21 12:26 Sam James
2024-10-21 11:45 Sam James
2024-10-20 22:42 Sam James
2024-10-18 14:05 Sam James
2024-10-18 10:35 Sam James
2024-10-17 23:33 Sam James
2024-10-17 23:03 Sam James
2024-10-17 5:01 Sam James
2024-10-17 4:15 Sam James
2024-10-13 22:48 Sam James
2024-10-07 2:45 Sam James
2024-10-04 10:37 Sam James
2024-10-04 9:28 Sam James
2024-10-02 19:45 Sam James
2024-09-30 14:05 Sam James
2024-09-29 22:56 Sam James
2024-09-24 1:41 Sam James
2024-09-23 15:23 Sam James
2024-09-02 2:28 Sam James
2024-08-26 13:44 Sam James
2024-08-26 6:24 Sam James
2024-08-23 13:51 Sam James
2024-08-20 20:31 Sam James
2024-08-19 18:43 Sam James
2024-08-14 9:48 Sam James
2024-08-14 2:57 Sam James
2024-08-11 22:40 Sam James
2024-08-09 19:54 Sam James
2024-08-09 19:54 Sam James
2024-08-09 19:47 Sam James
2024-08-09 19:25 Sam James
2024-08-08 11:10 Sam James
2024-08-08 11:06 Sam James
2024-08-08 11:03 Sam James
2024-08-05 9:09 Sam James
2024-08-05 1:54 Sam James
2024-08-05 1:51 Sam James
2024-08-02 20:39 Sam James
2024-08-01 14:40 Sam James
2024-07-28 23:34 Sam James
2024-07-22 1:11 Sam James
2024-07-19 11:14 Sam James
2024-07-18 0:45 Sam James
2024-07-14 23:36 Sam James
2024-06-28 12:49 Sam James
2024-06-27 0:02 Sam James
2024-06-26 23:57 Sam James
2024-06-16 22:45 Sam James
2024-06-10 20:18 Sam James
2024-06-10 17:28 Sam James
2024-06-10 17:28 Sam James
2024-06-10 2:08 Sam James
2024-06-08 17:03 Sam James
2024-06-08 17:03 Sam James
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1732547389.12bd49fdb9c159ea05e498160adef179467bc729.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox