public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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


             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