aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2018-12-18 22:37:25 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2018-12-18 22:37:25 +0000
commit134dc72e3b4e140756f00b65688f084188f59d18 (patch)
tree81a8c62568c0fd2db3b91d0892fa6d3b826b01cb
parent7.4.0: fix gcc SIGSEGV on k&r style declarations, bug #672032 (diff)
downloadgcc-patches-134dc72e3b4e140756f00b65688f084188f59d18.tar.gz
gcc-patches-134dc72e3b4e140756f00b65688f084188f59d18.tar.bz2
gcc-patches-134dc72e3b4e140756f00b65688f084188f59d18.zip
8.2.0: backport avx2 codegen SIGSEGV, bug #657060
Fixes SIGSEGV when building media-libs/opencv-3.4.1-r1 Reported-by: Johannes Hirte Bug: https://bugs.gentoo.org/657060 Bug: https://gcc.gnu.org/PR86871 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rw-r--r--8.2.0/gentoo/115_all_avx2-SIGSEGV-PR86871.patch69
-rw-r--r--8.2.0/gentoo/README.history1
2 files changed, 70 insertions, 0 deletions
diff --git a/8.2.0/gentoo/115_all_avx2-SIGSEGV-PR86871.patch b/8.2.0/gentoo/115_all_avx2-SIGSEGV-PR86871.patch
new file mode 100644
index 0000000..4d24259
--- /dev/null
+++ b/8.2.0/gentoo/115_all_avx2-SIGSEGV-PR86871.patch
@@ -0,0 +1,69 @@
+https://bugs.gentoo.org/657060
+https://gcc.gnu.org/PR86871
+
+From c69949a7ec14a363128cd1445c7153e1ce051eb7 Mon Sep 17 00:00:00 2001
+From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 14 Aug 2018 09:24:45 +0000
+Subject: [PATCH] Fix invalid assumption in vect_transform_stmt (PR 86871)
+
+The handling of outer-loop uses of inner-loop definitions assumed
+that anything that wasn't a PHI would be a gassign. It's also
+possible for it to be a gcall.
+
+2018-08-14 Richard Sandiford <richard.sandiford@arm.com>
+
+gcc/
+ Backport from mainline
+ 2018-08-09 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/86871
+ * tree-vect-stmts.c (vect_transform_stmt): Use gimple_get_lhs
+ instead of gimple_assign_lhs.
+
+gcc/testsuite/
+ Backport from mainline
+ 2018-08-09 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/86871
+ * gcc.dg/vect/pr86871.c: New test.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@263528 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/testsuite/gcc.dg/vect/pr86871.c | 15 +++++++++++++++
+ gcc/tree-vect-stmts.c | 2 +-
+ 4 files changed, 33 insertions(+), 1 deletion(-)
+ create mode 100644 gcc/testsuite/gcc.dg/vect/pr86871.c
+
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/vect/pr86871.c
+@@ -0,0 +1,15 @@
++/* { dg-do compile } */
++
++extern int b[];
++extern int c[];
++void g(int f) {
++ for (; f; f++) {
++ int d = 0;
++ for (int e = -1; e <= 1; e++) {
++ int a = f + e;
++ if (a)
++ d = *(c + a);
++ }
++ *(b + f) = d;
++ }
++ }
+--- a/gcc/tree-vect-stmts.c
++++ b/gcc/tree-vect-stmts.c
+@@ -9602,7 +9602,7 @@ vect_transform_stmt (gimple *stmt, gimple_stmt_iterator *gsi,
+ if (gimple_code (stmt) == GIMPLE_PHI)
+ scalar_dest = PHI_RESULT (stmt);
+ else
+- scalar_dest = gimple_assign_lhs (stmt);
++ scalar_dest = gimple_get_lhs (stmt);
+
+ FOR_EACH_IMM_USE_FAST (use_p, imm_iter, scalar_dest)
+ {
+--
+2.20.1
+
diff --git a/8.2.0/gentoo/README.history b/8.2.0/gentoo/README.history
index 787f60c..6e3896c 100644
--- a/8.2.0/gentoo/README.history
+++ b/8.2.0/gentoo/README.history
@@ -1,5 +1,6 @@
1.7 TODO
+ 114_all_kr-decl-PR88214.patch
+ + 115_all_avx2-SIGSEGV-PR86871.patch
1.6 01 Dec 2018
U 10_all_default-fortify-source.patch