summaryrefslogtreecommitdiff
path: root/sys-devel/gcc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-26 00:12:24 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-26 00:12:24 +0100
commit9f6a82a85d400d6ae7de04c43cee88dbc6bc4da0 (patch)
tree2d53ee03e360a9c66a5d8dd8986eee286514336b /sys-devel/gcc
parent996a2bda06cb164877d5d952774a6db1b271c2f3 (diff)
gentoo auto-resync : 26:06:2024 - 00:12:24
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/Manifest3
-rw-r--r--sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch120
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240623-r1.ebuild (renamed from sys-devel/gcc/gcc-15.0.0_pre20240623.ebuild)1
3 files changed, 123 insertions, 1 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index f9e0970d5b0f..eef3f704073e 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,4 +1,5 @@
AUX gcc-13-fix-cross-fixincludes.patch 883 BLAKE2B 1ae33195320754c55f42e1206bcfdf98914af5190df5939a4c7b072a2bc25216c354ea5d76f5171e1b8a150ca7764bdf57cea1bc137c237a5e8bb44713885f1b SHA512 ca9625001f0a10826d75691fdba35ca5783ed2f80e605b935785f8dc7591b0e650dca28bf1fc7e688e27547dddc7ab38232459b4f1865ed10a148978d0e09703
+AUX gcc-15.0.0_pre20240623-PR115602.patch 4018 BLAKE2B 3c88950585713918c77f6e6f00ae9365edd97ec61f88b89d3e99eaec8ef62db315dfd285c16ab5563ee88d69f8f0857dbfd5055d84950ef6023d4d5d804b819d SHA512 56fafe0d602c925608be21a573983de5fdb5ffb3ba4130fd2f77b35ed1e7de6385b2e71e78276c726b80e108d12213d4bb5af196762fb1d8579e06fd18c2f735
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
DIST gcc-10.5.0-musl-patches-2.tar.xz 3452 BLAKE2B 5387e516d07d81477b3f39b8b3bd986bf861d32cd25dc5481c97bd3620d00c918c5661e86857f66dbf28a655401a53e43417f638c443e44cbfdbf5e950caac4d SHA512 86f2ce31cc4fc4fb5a6043fb527bf822d895e1a6220652024f78a1cbd5a962edb6be8dc5f43c32053e075f39bb2350ea8f14e7d57e0473dd2933a7b44676bde5
DIST gcc-10.5.0-patches-6.tar.xz 18208 BLAKE2B 4cac3340108fb378c76ad62b728429f3c97f348d178744e7536575f3576ca8aa682b878b7df3b1c162dccae64a3cb56c66d8d60eae323e1ece2de4278084fdbd SHA512 9d6c84325fbc118cee01347468ce729c278e5b026b16da945fe54050726e26f86a46ee7b71a01a47cf927b70bfcce459c49a6bc4fb93dcfaa047c76d4c5bc5bc
@@ -64,7 +65,7 @@ EBUILD gcc-14.1.1_p20240622.ebuild 1619 BLAKE2B 9d9c1e1af0c2f08691774a2fcb48edc1
EBUILD gcc-14.1.9999.ebuild 1453 BLAKE2B caee7ba2e0323b0953b53c822cfe76c70eebd466d80575612ae6daffdfbdb663266a9272691b33c4396bf8c70c81cf3c64035d9c5159f1ba9ed1e231ce739c1f SHA512 b1cc3de6f9f03b6e6558824cec9c19c8b4c424c769f8d02c0675c20f6c687b2ac27fb8d19646feb221570611e35248b8c22334b9207d27c401a5c34a54e34652
EBUILD gcc-15.0.0_pre20240609-r1.ebuild 1402 BLAKE2B 773dde45ccecbf9f0645b184d3f8200c2b6876ed11aaeda3e616889c4a5fc44db1a76bc640cfe4fbff094ccb93d2c89130baf4bb053cff25e794eceb88d95682 SHA512 1b2a9b20806a57fd90ff8a100c393586b70dbc308d825823c9c680c62a2334d2716678f2a6faee1f11044e8f6a7c0f4617d1bfd8b98a49c0e257f2dbe6ffecfd
EBUILD gcc-15.0.0_pre20240616.ebuild 1402 BLAKE2B 1eda966164b7979272b3be8edc7b30752c4aae2524824a2a53476d7b8e711a01f5c4f9aee5b09f4aa7c8ac43fd9e0b86e5c65dd37b8467e22eb4f52a916448a4 SHA512 79282351ebb8eeb60202388dcf812d2a41621e175efc72f3a3c8ff923087f7d2d4c8381c2622d036991cdb62b51299985543e97ce270c1712d56357d8df0400f
-EBUILD gcc-15.0.0_pre20240623.ebuild 1402 BLAKE2B 1eda966164b7979272b3be8edc7b30752c4aae2524824a2a53476d7b8e711a01f5c4f9aee5b09f4aa7c8ac43fd9e0b86e5c65dd37b8467e22eb4f52a916448a4 SHA512 79282351ebb8eeb60202388dcf812d2a41621e175efc72f3a3c8ff923087f7d2d4c8381c2622d036991cdb62b51299985543e97ce270c1712d56357d8df0400f
+EBUILD gcc-15.0.0_pre20240623-r1.ebuild 1444 BLAKE2B 995c8e933aa3528db5cdfd9284cb2b61abc34ab31a1e02e5ff059628107845955cf3ec206812163843fd52bd0058057c366ea0e5dfcc79c7aa17d83b9a8bacfa SHA512 00ece7b8d840b1d3fd38c0e604c79bdbaa5218aff2d6bf82774486d8ec62103f974126d2f3119d5511807e112904e97ed99db7f3202c42c88b28fcbd015fdc7e
EBUILD gcc-15.0.9999.ebuild 1375 BLAKE2B 713f557e8ccda4a146eb0286c1d42c1ccf144937450190dff66be5a280abc345951cd43c563f3a3436cdfa5c9e6a077d59132e3f8f7fc9d472803b8024624abe SHA512 624abe83fbc0654e5f2104fa29499fc26ecdc8d5a923f653981c79f93c982c1f43bb75005b61239bd1fe8490d1cf64afd28a454a5d1bc72c51369cde1656524a
EBUILD gcc-8.5.0-r1.ebuild 533 BLAKE2B ef3368f7236352e8ddd5b56919cd2145794b0385f35e4efa50808aeafd98687eba5d32264a3fb2a34d85b5d913697e93af58eb03ce35b6b5ba45d78bb8f33d25 SHA512 528e4b7389f4053aa177b8405469963358c5d595fa257115fa94e5e26a54a6c3b1c15bb847bb97864dd387fd2681f16907aecf052fad9315dd91863ac419d10d
EBUILD gcc-9.5.0.ebuild 1241 BLAKE2B bd30abe9c99e317edcf7ae6ce8626a4c27322deaaadd510f02d0f36422d892eed896cb0ede817c1ee5bd2f5b913f2c426ed2ebb5bb8c2d455a1bbb3531f49eed SHA512 905224e69370a065c1f6b72b568418a231fa47f76085291b4eb3bdab741a64d1e454b02064d2afb4a91c1d935c58e8d299485b33fcc4fef8db3531967f6fb457
diff --git a/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch b/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
new file mode 100644
index 000000000000..d78c6d964906
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
@@ -0,0 +1,120 @@
+https://gcc.gnu.org/PR115602
+https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=c43c74f6ec795a586388de7abfdd20a0040f6f16
+
+From c43c74f6ec795a586388de7abfdd20a0040f6f16 Mon Sep 17 00:00:00 2001
+From: Richard Biener <rguenther@suse.de>
+Date: Mon, 24 Jun 2024 09:52:39 +0200
+Subject: [PATCH] tree-optimization/115602 - SLP CSE results in cycles
+
+The following prevents SLP CSE to create new cycles which happened
+because of a 1:1 permute node being present where its child was then
+CSEd to the permute node. Fixed by making a node only available to
+CSE to after recursing.
+
+ PR tree-optimization/115602
+ * tree-vect-slp.cc (vect_cse_slp_nodes): Delay populating the
+ bst-map to avoid cycles.
+
+ * gcc.dg/vect/pr115602.c: New testcase.
+---
+ gcc/testsuite/gcc.dg/vect/pr115602.c | 27 +++++++++++++++++++++++
+ gcc/tree-vect-slp.cc | 33 ++++++++++++++++++----------
+ 2 files changed, 48 insertions(+), 12 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.dg/vect/pr115602.c
+
+diff --git a/gcc/testsuite/gcc.dg/vect/pr115602.c b/gcc/testsuite/gcc.dg/vect/pr115602.c
+new file mode 100644
+index 00000000000..9a208d1d950
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/vect/pr115602.c
+@@ -0,0 +1,27 @@
++/* { dg-do compile } */
++
++typedef struct {
++ double x, y;
++} pointf;
++struct {
++ pointf focus;
++ double zoom;
++ pointf devscale;
++ char button;
++ pointf oldpointer;
++} gvevent_motion_job;
++char gvevent_motion_job_4;
++double gvevent_motion_pointer_1, gvevent_motion_pointer_0;
++void gvevent_motion() {
++ double dx = (gvevent_motion_pointer_0 - gvevent_motion_job.oldpointer.x) /
++ gvevent_motion_job.devscale.x,
++ dy = (gvevent_motion_pointer_1 - gvevent_motion_job.oldpointer.y) /
++ gvevent_motion_job.devscale.y;
++ if (dx && dy < .0001)
++ return;
++ switch (gvevent_motion_job_4)
++ case 2: {
++ gvevent_motion_job.focus.x -= dy / gvevent_motion_job.zoom;
++ gvevent_motion_job.focus.y += dx / gvevent_motion_job.zoom;
++ }
++}
+diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
+index e84aeabef94..b47b7e8c979 100644
+--- a/gcc/tree-vect-slp.cc
++++ b/gcc/tree-vect-slp.cc
+@@ -6079,35 +6079,44 @@ vect_optimize_slp_pass::run ()
+ static void
+ vect_cse_slp_nodes (scalar_stmts_to_slp_tree_map_t *bst_map, slp_tree& node)
+ {
++ bool put_p = false;
+ if (SLP_TREE_DEF_TYPE (node) == vect_internal_def
+ /* Besides some VEC_PERM_EXPR, two-operator nodes also
+ lack scalar stmts and thus CSE doesn't work via bst_map. Ideally
+ we'd have sth that works for all internal and external nodes. */
+ && !SLP_TREE_SCALAR_STMTS (node).is_empty ())
+ {
+- if (slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node)))
++ slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node));
++ if (leader)
+ {
+- if (*leader != node)
+- {
+- if (dump_enabled_p ())
+- dump_printf_loc (MSG_NOTE, vect_location,
+- "re-using SLP tree %p for %p\n",
+- (void *)*leader, (void *)node);
+- vect_free_slp_tree (node);
+- (*leader)->refcnt += 1;
+- node = *leader;
+- }
++ /* We've visited this node already. */
++ if (!*leader || *leader == node)
++ return;
++
++ if (dump_enabled_p ())
++ dump_printf_loc (MSG_NOTE, vect_location,
++ "re-using SLP tree %p for %p\n",
++ (void *)*leader, (void *)node);
++ vect_free_slp_tree (node);
++ (*leader)->refcnt += 1;
++ node = *leader;
+ return;
+ }
+
+- bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
++ /* Avoid creating a cycle by populating the map only after recursion. */
++ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), nullptr);
+ node->refcnt += 1;
++ put_p = true;
+ /* And recurse. */
+ }
+
+ for (slp_tree &child : SLP_TREE_CHILDREN (node))
+ if (child)
+ vect_cse_slp_nodes (bst_map, child);
++
++ /* Now record the node for CSE in other siblings. */
++ if (put_p)
++ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
+ }
+
+ /* Optimize the SLP graph of VINFO. */
+--
+2.43.0
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240623.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240623-r1.ebuild
index b2ef3b0ac50b..0bfd8a8fe85d 100644
--- a/sys-devel/gcc/gcc-15.0.0_pre20240623.ebuild
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240623-r1.ebuild
@@ -49,5 +49,6 @@ src_prepare() {
toolchain_src_prepare
+ eapply "${FILESDIR}"/${P}-PR115602.patch
eapply_user
}