[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2013-02-19 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55110



--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2013-02-19 
17:16:02 UTC ---

Author: jakub

Date: Tue Feb 19 17:15:53 2013

New Revision: 196140



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=196140

Log:

Backported from mainline

2012-11-27  Jakub Jelinek  ja...@redhat.com



PR tree-optimization/55110

* tree-vect-loop.c (vectorizable_reduction): Don't assert

that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.



* gcc.dg/pr55110.c: New test.



Added:

branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr55110.c

Modified:

branches/gcc-4_7-branch/gcc/ChangeLog

branches/gcc-4_7-branch/gcc/testsuite/ChangeLog

branches/gcc-4_7-branch/gcc/tree-vect-loop.c


[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2012-11-27 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55110



--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-27 
13:34:19 UTC ---

Author: jakub

Date: Tue Nov 27 13:34:11 2012

New Revision: 193845



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193845

Log:

PR tree-optimization/55110

* tree-vect-loop.c (vectorizable_reduction): Don't assert

that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.



* gcc.dg/pr55110.c: New test.



Added:

trunk/gcc/testsuite/gcc.dg/pr55110.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/testsuite/ChangeLog

trunk/gcc/tree-vect-loop.c


[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2012-11-27 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55110



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-27 
13:39:53 UTC ---

Fixed.


[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2012-11-26 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55110



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org



--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-26 
10:35:44 UTC ---

I'd say either we should nuke the bogus

  gcc_assert (STMT_VINFO_RELATED_STMT (orig_stmt_info) == stmt);

assertion, which predates the introduction of

STMT_VINFO_PATTERN_DEF_STMT (and later STMT_VINFO_PATTERN_DEF_SEQ) - both in

4.7 cycle, or just return false; if it isn't equal.

We won't successfully vectorize this anyway, orig_code is still TRUNC_DIV_EXPR

and that is not a handled reduction (and even if we'd handled it as the signed

MULT_HIGHPART_EXPR reduction, that isn't handled either).



So, I'd propose this (if we wanted to assert something, it would need to

walk the STMT_VINFO_PATTERN_DEF_SEQ sequence and checking whether stmt isn't in

there too):



2012-11-26  Jakub Jelinek  ja...@redhat.com



PR tree-optimization/55110

* tree-vect-loop.c (vectorizable_reduction): Don't assert

that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.



* gcc.dg/pr55110.c: New test.



--- gcc/tree-vect-loop.c.jj2012-11-21 16:00:12.0 +0100

+++ gcc/tree-vect-loop.c2012-11-26 11:24:42.903995009 +0100

@@ -4624,7 +4624,6 @@ vectorizable_reduction (gimple stmt, gim

   if (orig_stmt)

 {

   orig_stmt_info = vinfo_for_stmt (orig_stmt);

-  gcc_assert (STMT_VINFO_RELATED_STMT (orig_stmt_info) == stmt);

   gcc_assert (STMT_VINFO_IN_PATTERN_P (orig_stmt_info));

   gcc_assert (!STMT_VINFO_IN_PATTERN_P (stmt_info));

 }

--- gcc/testsuite/gcc.dg/pr55110.c.jj2012-11-26 11:31:32.008587313 +0100

+++ gcc/testsuite/gcc.dg/pr55110.c2012-11-26 11:31:09.0 +0100

@@ -0,0 +1,13 @@

+/* PR tree-optimization/55110 */

+/* { dg-do compile } */

+/* { dg-options -O1 -ftree-vectorize } */

+

+int

+foo (int x)

+{

+  int a, b;

+  for (b = 0; b  8; b++)

+for (a = 0; a  2; a++)

+  x /= 3;

+  return x;

+}


[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2012-10-31 Thread rth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55110



Richard Henderson rth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |rth at gcc dot gnu.org

   |gnu.org |


[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2012-10-29 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55110



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0

Summary|Internal compiler error in  |[4.8 Regression] Internal

   |vectorizable_reduction, at  |compiler error in

   |tree-vect-loop.c:4633   |vectorizable_reduction, at

   ||tree-vect-loop.c:4633