commit:     98503e61e8b723a012ccef2eed6a8387e43535e7
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 10 17:28:02 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 10 17:28:02 2024 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=98503e61

15.0.0: drop upstreamed patch

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

 15.0.0/gentoo/78_all_PR115395.patch | 107 ------------------------------------
 15.0.0/gentoo/README.history        |   4 ++
 2 files changed, 4 insertions(+), 107 deletions(-)

diff --git a/15.0.0/gentoo/78_all_PR115395.patch 
b/15.0.0/gentoo/78_all_PR115395.patch
deleted file mode 100644
index d98c043..0000000
--- a/15.0.0/gentoo/78_all_PR115395.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-https://gcc.gnu.org/PR115395
-
-From 4ed9c5df7efeb98e190573cca42a4fd40666c45f Mon Sep 17 00:00:00 2001
-From: Richard Biener <[email protected]>
-Date: Mon, 10 Jun 2024 10:12:52 +0200
-Subject: [PATCH] tree-optimization/115395 - wrong-code with SLP reduction in
- epilog
-
-When we continue a non-SLP reduction from the main loop in the
-epilog with a SLP reduction we currently fail to handle an
-adjustment by the initial value because that's not a thing with SLP.
-As long as we have the possibility to mix SLP and non-SLP we have
-to handle it though.
-
-       PR tree-optimization/115395
-       * tree-vect-loop.cc (vect_create_epilog_for_reduction):
-       Handle STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT also for SLP
-       reductions of group_size one.
-
-       * gcc.dg/vect/pr115395.c: New testcase.
----
- gcc/testsuite/gcc.dg/vect/pr115395.c | 27 +++++++++++++++++++++++++++
- gcc/tree-vect-loop.cc                | 27 ++++++++-------------------
- 2 files changed, 35 insertions(+), 19 deletions(-)
- create mode 100644 gcc/testsuite/gcc.dg/vect/pr115395.c
-
-diff --git a/gcc/testsuite/gcc.dg/vect/pr115395.c 
b/gcc/testsuite/gcc.dg/vect/pr115395.c
-new file mode 100644
-index 00000000000..cd1cee9f3df
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/vect/pr115395.c
-@@ -0,0 +1,27 @@
-+/* { dg-additional-options "-mavx2" { target avx2_runtime } } */
-+
-+#include "tree-vect.h"
-+
-+struct {
-+  long header_size;
-+  long start_offset;
-+  long end_offset;
-+} myrar_dbo[5] = {{0, 87, 6980}, {0, 7087, 13980}, {0, 14087, 0}};
-+
-+int i;
-+long offset;
-+
-+int main()
-+{
-+  check_vect ();
-+
-+  offset += myrar_dbo[0].start_offset;
-+  while (i < 2) {
-+    i++;
-+    offset += myrar_dbo[i].start_offset - myrar_dbo[i - 1].end_offset;
-+  }
-+  if (offset != 301)
-+    abort();
-+
-+  return 0;
-+}
-diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
-index 028692614bb..c471f1564a7 100644
---- a/gcc/tree-vect-loop.cc
-+++ b/gcc/tree-vect-loop.cc
-@@ -6030,25 +6030,14 @@ vect_create_epilog_for_reduction (loop_vec_info 
loop_vinfo,
- 
-   tree induc_val = NULL_TREE;
-   tree adjustment_def = NULL;
--  if (slp_node)
--    {
--      /* Optimize: for induction condition reduction, if we can't use zero
--       for induc_val, use initial_def.  */
--      if (STMT_VINFO_REDUC_TYPE (reduc_info) == INTEGER_INDUC_COND_REDUCTION)
--      induc_val = STMT_VINFO_VEC_INDUC_COND_INITIAL_VAL (reduc_info);
--      /* ???  Coverage for 'else' isn't clear.  */
--    }
-+  /* Optimize: for induction condition reduction, if we can't use zero
-+     for induc_val, use initial_def.  */
-+  if (STMT_VINFO_REDUC_TYPE (reduc_info) == INTEGER_INDUC_COND_REDUCTION)
-+    induc_val = STMT_VINFO_VEC_INDUC_COND_INITIAL_VAL (reduc_info);
-+  else if (double_reduc)
-+    ;
-   else
--    {
--      /* Optimize: for induction condition reduction, if we can't use zero
--         for induc_val, use initial_def.  */
--      if (STMT_VINFO_REDUC_TYPE (reduc_info) == INTEGER_INDUC_COND_REDUCTION)
--      induc_val = STMT_VINFO_VEC_INDUC_COND_INITIAL_VAL (reduc_info);
--      else if (double_reduc)
--      ;
--      else
--      adjustment_def = STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT (reduc_info);
--    }
-+    adjustment_def = STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT (reduc_info);
- 
-   stmt_vec_info single_live_out_stmt[] = { stmt_info };
-   array_slice<const stmt_vec_info> live_out_stmts = single_live_out_stmt;
-@@ -6873,7 +6862,7 @@ vect_create_epilog_for_reduction (loop_vec_info 
loop_vinfo,
- 
-   if (adjustment_def)
-     {
--      gcc_assert (!slp_reduc);
-+      gcc_assert (!slp_reduc || group_size == 1);
-       gimple_seq stmts = NULL;
-       if (double_reduc)
-       {
--- 
-2.43.0

diff --git a/15.0.0/gentoo/README.history b/15.0.0/gentoo/README.history
index 1573b55..81ca552 100644
--- a/15.0.0/gentoo/README.history
+++ b/15.0.0/gentoo/README.history
@@ -1,3 +1,7 @@
+4      ????
+
+       - 78_all_PR115395.patch
+
 3      10 June 2024
 
        + 77_all_PR115387.patch

Reply via email to