[Bug tree-optimization/55110] [4.8 Regression] Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633
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
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
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
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
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
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