commit:     8174d657315852bd6a17d8d4f8084a54fc6a6f7f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 10:41:53 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 10:41:59 2024 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=8174d657

15.0.0: drop 73_all_PR117646-match-Fix-the-max-a-b-0-pattern-for-pointers.patch

Merged upstream.

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

 ...ch-Fix-the-max-a-b-0-pattern-for-pointers.patch | 83 ----------------------
 15.0.0/gentoo/README.history                       |  4 ++
 2 files changed, 4 insertions(+), 83 deletions(-)

diff --git 
a/15.0.0/gentoo/73_all_PR117646-match-Fix-the-max-a-b-0-pattern-for-pointers.patch
 
b/15.0.0/gentoo/73_all_PR117646-match-Fix-the-max-a-b-0-pattern-for-pointers.patch
deleted file mode 100644
index c0ab935..0000000
--- 
a/15.0.0/gentoo/73_all_PR117646-match-Fix-the-max-a-b-0-pattern-for-pointers.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 45a3277149d95a51cf9109cab87ee39a7dce73e2 Mon Sep 17 00:00:00 2001
-Message-ID: 
<45a3277149d95a51cf9109cab87ee39a7dce73e2.1731926298.git....@gentoo.org>
-From: Andrew Pinski <[email protected]>
-Date: Sun, 17 Nov 2024 20:21:58 -0800
-Subject: [PATCH] match: Fix the `max<a,b>==0` pattern for pointers [PR117646]
-
-For pointers I forgot that BIT_IOR_EXPR is not valid so when
-I added the pattern to convert `max<a,b> != 0` (r15-5356), GCC
-would start to ICEing saying pointer types were not valid for
-BIT_IOR_EXPR.
-This fixes the problem by casting to the unsigned type of the
-inner type. There was another way of fixing this to handling it
-as `a == 0 & b == 0` but both match and reassoication (for pointers)
-will then convert it back into the form I am creating here so
-let's just use that form instead.
-
-Bootstrapped and tested on x86_64-linux-gnu.
-
-       PR tree-optimization/117646
-
-gcc/ChangeLog:
-
-       * match.pd (`max<a,b>==0`): Add casts to `unsigned type`.
-
-gcc/testsuite/ChangeLog:
-
-       * gcc.dg/torture/minmaxneeqptr-1.c: New test.
-
-Signed-off-by: Andrew Pinski <[email protected]>
----
- gcc/match.pd                                  |  6 ++++--
- .../gcc.dg/torture/minmaxneeqptr-1.c          | 21 +++++++++++++++++++
- 2 files changed, 25 insertions(+), 2 deletions(-)
- create mode 100644 gcc/testsuite/gcc.dg/torture/minmaxneeqptr-1.c
-
-diff --git a/gcc/match.pd b/gcc/match.pd
-index 4bec24a21b29..f5181325f3b9 100644
---- a/gcc/match.pd
-+++ b/gcc/match.pd
-@@ -4799,9 +4799,11 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
-    MAX (A, B) != 0 -> (A|B) != 0 iff unsigned.  */
- (for cmp (eq ne)
-  (simplify
--  (cmp (max @0 @1) integer_zerop@2)
-+  (cmp (max @0 @1) integer_zerop)
-   (if (TYPE_UNSIGNED (TREE_TYPE (@0)))
--   (cmp (bit_ior @0 @1) @2))))
-+   (with { tree utype = unsigned_type_for (TREE_TYPE (@0)); }
-+    (cmp (bit_ior (convert:utype @0) (convert:utype @1))
-+         { build_zero_cst (utype); } )))))
- 
- /* Undo fancy ways of writing max/min or other ?: expressions, like
-    a - ((a - b) & -(a < b))  and  a - (a - b) * (a < b) into (a < b) ? b : a.
-diff --git a/gcc/testsuite/gcc.dg/torture/minmaxneeqptr-1.c 
b/gcc/testsuite/gcc.dg/torture/minmaxneeqptr-1.c
-new file mode 100644
-index 000000000000..aa45722330f4
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/torture/minmaxneeqptr-1.c
-@@ -0,0 +1,21 @@
-+/* { dg-do compile } */
-+
-+/* PR tree-optimization/117646 */
-+
-+int maxeq(char *a, char *b) {
-+  char *p = a < b ? b : a;
-+  return p == (void*)0;
-+}
-+int maxne(char *a, char *b) {
-+  char *p = a < b ? b : a;
-+  return p == (void*)0;
-+}
-+
-+int mineq(char *a, char *b) {
-+  char *p = a > b ? b : a;
-+  return p == (void*)0;
-+}
-+int minne(char *a, char *b) {
-+  char *p = a > b ? b : a;
-+  return p == (void*)0;
-+}
--- 
-2.47.0
-

diff --git a/15.0.0/gentoo/README.history b/15.0.0/gentoo/README.history
index df484a6..a17533c 100644
--- a/15.0.0/gentoo/README.history
+++ b/15.0.0/gentoo/README.history
@@ -1,3 +1,7 @@
+??
+
+       - 73_all_PR117646-match-Fix-the-max-a-b-0-pattern-for-pointers.patch
+
 26     18 November 2024
 
        + 73_all_PR117646-match-Fix-the-max-a-b-0-pattern-for-pointers.patch

Reply via email to