aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-06-10 18:28:02 +0100
committerSam James <sam@gentoo.org>2024-06-10 18:28:02 +0100
commit98503e61e8b723a012ccef2eed6a8387e43535e7 (patch)
treeea14c694310c17561d5fe3ce3e49037db3148c6c
parent15.0.0: backport two fixes (diff)
downloadgcc-patches-98503e61e8b723a012ccef2eed6a8387e43535e7.tar.gz
gcc-patches-98503e61e8b723a012ccef2eed6a8387e43535e7.tar.bz2
gcc-patches-98503e61e8b723a012ccef2eed6a8387e43535e7.zip
15.0.0: drop upstreamed patch
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--15.0.0/gentoo/78_all_PR115395.patch107
-rw-r--r--15.0.0/gentoo/README.history4
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 <rguenther@suse.de>
-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