commit:     58deeb29d8c568e8e0a633a8b6410d3a70b2808d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov  9 16:24:14 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov  9 16:24:42 2024 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=58deeb29

15.0.0: drop 73_all_PR117493-sccvn-insert_predicates_for_cond-limit.patch

Merged upstream.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...93-sccvn-insert_predicates_for_cond-limit.patch | 98 ----------------------
 1 file changed, 98 deletions(-)

diff --git 
a/15.0.0/gentoo/73_all_PR117493-sccvn-insert_predicates_for_cond-limit.patch 
b/15.0.0/gentoo/73_all_PR117493-sccvn-insert_predicates_for_cond-limit.patch
deleted file mode 100644
index 9816e52..0000000
--- a/15.0.0/gentoo/73_all_PR117493-sccvn-insert_predicates_for_cond-limit.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From a49a60790ae2032dfeee617ba9488fc80e09b3a8 Mon Sep 17 00:00:00 2001
-Message-ID: 
<a49a60790ae2032dfeee617ba9488fc80e09b3a8.1731138919.git....@gentoo.org>
-From: Andrew Pinski <[email protected]>
-Date: Fri, 8 Nov 2024 17:35:02 -0800
-Subject: [PATCH] VN: Don't recurse on for the same value of `a | b` [PR117496]
-
-After adding vn_valueize to the handle the `a | b ==/!= 0` case
-of insert_predicates_for_cond, it would go into an infinite loop
-as the Value number for either a or b could be the same as what it
-is for the whole expression. This avoids that recursion so there is
-no infinite loop here.
-
-Bootstrapped and tested on x86_64-linux.
-
-       PR tree-optimization/117496
-
-gcc/ChangeLog:
-
-       * tree-ssa-sccvn.cc (insert_predicates_for_cond): If the
-       valueization for the new lhs is the same as the old one,
-       don't recurse.
-
-gcc/testsuite/ChangeLog:
-
-       * gcc.dg/torture/pr117496-1.c: New test.
-
-Signed-off-by: Andrew Pinski <[email protected]>
----
- gcc/testsuite/gcc.dg/torture/pr117496-1.c | 25 +++++++++++++++++++++++
- gcc/tree-ssa-sccvn.cc                     | 11 ++++++++--
- 2 files changed, 34 insertions(+), 2 deletions(-)
- create mode 100644 gcc/testsuite/gcc.dg/torture/pr117496-1.c
-
-diff --git a/gcc/testsuite/gcc.dg/torture/pr117496-1.c 
b/gcc/testsuite/gcc.dg/torture/pr117496-1.c
-new file mode 100644
-index 000000000000..f35d13dfa85d
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/torture/pr117496-1.c
-@@ -0,0 +1,25 @@
-+/* { dg-do compile } */
-+
-+
-+/* PR tree-optimization/117496 */
-+/* This would go into an infinite loop into VN while recording
-+   the predicates for the `tracks == 0 && wm == 0` GIMPLE_COND.
-+   As wm_N and tracks_N would valueize back to `tracks | wm`.  */
-+
-+int main_argc, gargs_preemp, gargs_nopreemp;
-+static void gargs();
-+void main_argv() {
-+  int tracks = 0;
-+  gargs(main_argc, main_argv, &tracks);
-+}
-+void gargs(int, char *, int *tracksp) {
-+  int tracks = *tracksp, wm;
-+  for (;;) {
-+    if (tracks == 0)
-+      wm |= 4;
-+    if (gargs_nopreemp)
-+      gargs_preemp = 0;
-+    if (tracks == 0 && wm == 0)
-+      tracks++;
-+  }
-+}
-diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc
-index 1967bbdca84d..9c460fc1bdb3 100644
---- a/gcc/tree-ssa-sccvn.cc
-+++ b/gcc/tree-ssa-sccvn.cc
-@@ -7897,6 +7897,7 @@ insert_related_predicates_on_edge (enum tree_code code, 
tree *ops, edge pred_e)
- 
- /* Insert on the TRUE_E true and FALSE_E false predicates
-    derived from LHS CODE RHS.  */
-+
- static void
- insert_predicates_for_cond (tree_code code, tree lhs, tree rhs,
-                           edge true_e, edge false_e)
-@@ -7973,10 +7974,16 @@ insert_predicates_for_cond (tree_code code, tree lhs, 
tree rhs,
-         tree nlhs;
- 
-         nlhs = vn_valueize (gimple_assign_rhs1 (def_stmt));
--        insert_predicates_for_cond (EQ_EXPR, nlhs, rhs, e, nullptr);
-+        /* A valueization of the `a` might return the old lhs
-+           which is already handled above. */
-+        if (nlhs != lhs)
-+          insert_predicates_for_cond (EQ_EXPR, nlhs, rhs, e, nullptr);
- 
-+        /* A valueization of the `b` might return the old lhs
-+           which is already handled above. */
-         nlhs = vn_valueize (gimple_assign_rhs2 (def_stmt));
--        insert_predicates_for_cond (EQ_EXPR, nlhs, rhs, e, nullptr);
-+        if (nlhs != lhs)
-+          insert_predicates_for_cond (EQ_EXPR, nlhs, rhs, e, nullptr);
-       }
-     }
- }
--- 
-2.47.0
-

Reply via email to