[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Kai Tietz ktietz at gcc dot gnu.org ---
Fixed on trunk and 4.9


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 CC||law at redhat dot com
Summary|[4.9/5 Regression] ICE on   |[4.9 Regression] ICE on
   |valid code at -O3 on|valid code at -O3 on
   |x86_64-linux-gnu in |x86_64-linux-gnu in
   |vectorizable_reduction, at  |vectorizable_reduction, at
   |tree-vect-loop.c:4913   |tree-vect-loop.c:4913

--- Comment #8 from Jeffrey A. Law law at redhat dot com ---
Fixed on trunk.


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #9 from Kai Tietz ktietz at gcc dot gnu.org ---
Author: ktietz
Date: Wed Feb 25 14:12:46 2015
New Revision: 220968

URL: https://gcc.gnu.org/viewcvs?rev=220968root=gccview=rev
Log:

2015-02-25  Richard Biener  rguent...@suse.de
Kai Tietz  kti...@redhat.com

Backport from mainline
PR tree-optimization/61917
* tree-vect-loop.c (vectorizable_reduction): Allow
vect_internal_def without reduction to exit graceful.

ChangeLog testsuite/

2015-02-25  Kai Tietz  kti...@redhat.com

Backport from mainline
PR tree-optimization/61917
* gcc.dg/vect/vect-pr61917.c: New file.


Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-pr61917.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-vect-loop.c


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org ---
I certainly can reproduce it, the problem is that reduc_def_stmt is NULL.
dt is vect_constant_def.


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #11 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Kai Tietz from comment #10)
 Fixed on trunk and 4.9

The fix caused:

FAIL: gcc.dg/pr56350.c (internal compiler error)
FAIL: gcc.dg/pr56350.c (test for excess errors)

[hjl@gnu-6 gcc]$ ./xgcc -B./ -O -ftree-vectorize
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.dg/pr56350.c
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.dg/pr56350.c: In
function ‘f’:
/export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.dg/pr56350.c:8:1:
internal compiler error: Segmentation fault
 f (void)
 ^
0xd1f836 crash_signal
/export/gnu/import/git/sources/gcc/gcc/toplev.c:383
0xfaf59a gimple_code
/export/gnu/import/git/sources/gcc/gcc/gimple.h:1553
0xfbd855 vectorizable_reduction(gimple_statement_base*,
gimple_stmt_iterator*, gimple_statement_base**, _slp_tree*)
/export/gnu/import/git/sources/gcc/gcc/tree-vect-loop.c:4987
0xfabc86 vect_analyze_stmt(gimple_statement_base*, bool*, _slp_tree*)
/export/gnu/import/git/sources/gcc/gcc/tree-vect-stmts.c:7170
0xfb50c9 vect_analyze_loop_operations
/export/gnu/import/git/sources/gcc/gcc/tree-vect-loop.c:1539
0xfb58cc vect_analyze_loop_2
/export/gnu/import/git/sources/gcc/gcc/tree-vect-loop.c:1800
0xfb5c70 vect_analyze_loop(loop*)
/export/gnu/import/git/sources/gcc/gcc/tree-vect-loop.c:1898
0xfd558f vectorize_loops()
/export/gnu/import/git/sources/gcc/gcc/tree-vectorizer.c:451
0xed3699 execute
/export/gnu/import/git/sources/gcc/gcc/tree-ssa-loop.c:295
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
[hjl@gnu-6 gcc]$

on trunk.

[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #12 from Kai Tietz ktietz at gcc dot gnu.org ---
Hmm, just retested it for gcc's trunk.  Can't reproduce it.  I will retest with
current trunk, I might have a different patch in tree, which makes the
difference here.
Additionally, what target you are using?


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #13 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Kai Tietz from comment #12)
 Hmm, just retested it for gcc's trunk.  Can't reproduce it.  I will retest
 with current trunk, I might have a different patch in tree, which makes the
 difference here.
 Additionally, what target you are using?

Also happened on 4.9 branch:

[hjl@gnu-6 gcc]$ ./xgcc -v
Using built-in specs.
COLLECT_GCC=./xgcc
Target: x86_64-unknown-linux-gnu
Configured with: /export/gnu/import/git/sources/gcc/configure
--enable-languages=c,c++ --disable-bootstrap --prefix=/usr/gcc-5.0.0
--with-local-prefix=/usr/local --enable-gnu-indirect-function --with-fpmath=sse
Thread model: posix
gcc version 5.0.0 20150225 (experimental) (GCC) 
[hjl@gnu-6 gcc]$


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #14 from Kai Tietz ktietz at gcc dot gnu.org ---
(In reply to H.J. Lu from comment #13)
 (In reply to Kai Tietz from comment #12)
  Hmm, just retested it for gcc's trunk.  Can't reproduce it.  I will retest
  with current trunk, I might have a different patch in tree, which makes the
  difference here.
  Additionally, what target you are using?
 
 Also happened on 4.9 branch:

So for me it doesn't happen on trunk, so the Also seems to me something
special for you.  I will recheck 4.9, as here we might have a regression I
didn't caught ...


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #15 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Kai Tietz from comment #14)
 (In reply to H.J. Lu from comment #13)
  (In reply to Kai Tietz from comment #12)
   Hmm, just retested it for gcc's trunk.  Can't reproduce it.  I will retest
   with current trunk, I might have a different patch in tree, which makes 
   the
   difference here.
   Additionally, what target you are using?
  
  Also happened on 4.9 branch:
 
 So for me it doesn't happen on trunk, so the Also seems to me something
 special for you.  I will recheck 4.9, as here we might have a regression I
 didn't caught ...

I don't know why you didn't see it:

Starting program: /export/build/gnu/gcc-4.9/build-x86_64-linux/gcc/cc1
-fpreprocessed /tmp/x.i -quiet -dumpbase x.i -mtune=generic -march=x86-64
-auxbase x -O -version -ftree-vectorize -o x.i
GNU C (GCC) version 4.9.3 20150225 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version
5.1.2, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.9.3 20150225 (prerelease) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version
5.1.2, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: e64a271cb64a39ff067a5fd30c57a8d9

Program received signal SIGSEGV, Segmentation fault.
0x00c1efa1 in gimple_code (g=0x0)
at /export/gnu/import/git/gcc-release/gcc/gimple.h:1406
1406  return g-code;
(gdb) bt
#0  0x00c1efa1 in gimple_code (g=0x0)
at /export/gnu/import/git/gcc-release/gcc/gimple.h:1406
#1  0x00c2bc5d in vectorizable_reduction (
stmt=gimple_assign 0x719e, gsi=0x0, vec_stmt=0x0, slp_node=0x0)
at /export/gnu/import/git/gcc-release/gcc/tree-vect-loop.c:4915
#2  0x00c1bcca in vect_analyze_stmt (
stmt=gimple_assign 0x719e, need_to_vectorize=0x7fffd6af, 
node=0x0) at /export/gnu/import/git/gcc-release/gcc/tree-vect-stmts.c:7107
#3  0x00c1b723 in vect_analyze_stmt (
stmt=gimple_assign 0x719d32c0, need_to_vectorize=0x7fffd6af, 
node=0x0) at /export/gnu/import/git/gcc-release/gcc/tree-vect-stmts.c:7023
#4  0x00c24048 in vect_analyze_loop_operations (loop_vinfo=0x1a75950, 
slp=false) at /export/gnu/import/git/gcc-release/gcc/tree-vect-loop.c:1505
#5  0x00c247ee in vect_analyze_loop_2 (loop_vinfo=0x1a75950)
at /export/gnu/import/git/gcc-release/gcc/tree-vect-loop.c:1766
#6  0x00c24b73 in vect_analyze_loop (loop=0x719d50a0)
at /export/gnu/import/git/gcc-release/gcc/tree-vect-loop.c:1864
#7  0x00c41516 in vectorize_loops ()
at /export/gnu/import/git/gcc-release/gcc/tree-vectorizer.c:430
#8  0x00b713d3 in tree_loop_vectorize ()
at /export/gnu/import/git/gcc-release/gcc/tree-ssa-loop.c:154
#9  0x00b7145d in (anonymous namespace)::pass_vectorize::execute (
this=0x1a20150)
---Type return to continue, or q return to quit---
at /export/gnu/import/git/gcc-release/gcc/tree-ssa-loop.c:189
#10 0x0095dde6 in execute_one_pass (
pass=opt_pass* 0x1a20150 vect(119))
at /export/gnu/import/git/gcc-release/gcc/passes.c:2233
#11 0x0095dfff in execute_pass_list (
pass=opt_pass* 0x1a20150 vect(119))
at /export/gnu/import/git/gcc-release/gcc/passes.c:2286
#12 0x0095e030 in execute_pass_list (
pass=opt_pass* 0x1a1fa30 loop(101))
at /export/gnu/import/git/gcc-release/gcc/passes.c:2287
#13 0x0095e030 in execute_pass_list (
pass=opt_pass* 0x1a1e950 *all_optimizations(-1))
at /export/gnu/import/git/gcc-release/gcc/passes.c:2287
#14 0x006bb569 in expand_function (
node=cgraph_node* 0x718a9e18 f)
at /export/gnu/import/git/gcc-release/gcc/cgraphunit.c:1774
#15 0x006bb9ca in expand_all_functions ()
at /export/gnu/import/git/gcc-release/gcc/cgraphunit.c:1908
#16 0x006bc2ed in compile ()
at /export/gnu/import/git/gcc-release/gcc/cgraphunit.c:2252
#17 0x006bc3c8 in finalize_compilation_unit ()
at /export/gnu/import/git/gcc-release/gcc/cgraphunit.c:2329
#18 0x005817c7 in c_write_global_declarations ()
---Type return to continue, or q return to quit---q
 at /export/gnu/import/gQuit
(gdb) f 2
#2  0x00c1bcca in vect_analyze_stmt (
stmt=gimple_assign 0x719e, need_to_vectorize=0x7fffd6af, 
node=0x0) at /export/gnu/import/git/gcc-release/gcc/tree-vect-stmts.c:7107
7107|| vectorizable_reduction (stmt, NULL, NULL, NULL)
(gdb) call debug_gimple_stmt (stmt)
patt_25 = a_lsm.8_11  0 ? 7 : 0;
(gdb) f 1
#1  0x00c2bc5d in vectorizable_reduction (
stmt=gimple_assign 0x719e, gsi=0x0, vec_stmt=0x0, slp_node=0x0)
at 

[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #19 from Kai Tietz ktietz at gcc dot gnu.org ---
Author: ktietz
Date: Wed Feb 25 18:21:37 2015
New Revision: 220987

URL: https://gcc.gnu.org/viewcvs?rev=220987root=gccview=rev
Log:
PR tree-optimization/61917
* tree-vect-loop.c (vectorizable_reduction): Handle obvious case
that reduc_def_stmt is null.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-loop.c


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #17 from Kai Tietz ktietz at gcc dot gnu.org ---
Just posted a fix.  For the 4.9 branch I could finally reproduce this error. 
It is caused by the PHI-check for a vector-constant, which obviously has no
valid statment ...


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #18 from Kai Tietz ktietz at gcc dot gnu.org ---
Author: ktietz
Date: Wed Feb 25 18:20:34 2015
New Revision: 220986

URL: https://gcc.gnu.org/viewcvs?rev=220986root=gccview=rev
Log:
2015-02-25  Kai Tietz  kti...@redhat.com

PR tree-optimization/61917
* tree-vect-loop.c (vectorizable_reduction): Handle obvious case
that reduc_def_stmt is null.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/tree-vect-loop.c


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

--- Comment #20 from Kai Tietz ktietz at gcc dot gnu.org ---
HJ: Does recent patch fixes issue for you too?


[Bug tree-optimization/61917] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913

2015-02-25 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61917

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #21 from H.J. Lu hjl.tools at gmail dot com ---
Fixed.