public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1
@ 2014-12-25  8:35 zsojka at seznam dot cz
  2014-12-25 12:20 ` [Bug tree-optimization/64404] " dominiq at lps dot ens.fr
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: zsojka at seznam dot cz @ 2014-12-25  8:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64404

            Bug ID: 64404
           Summary: [5 Regression] ICE: in vect_get_vec_def_for_operand,
                    at tree-vect-stmts.c:1464 with
                    --param=sccvn-max-alias-queries-per-access=1
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz

Created attachment 34330
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34330&action=edit
reduced testcase

Compiler output:
$ gcc -O3 --param=sccvn-max-alias-queries-per-access=1 testcase.c
testcase.c: In function 'Compute':
testcase.c:11:1: internal compiler error: in vect_get_vec_def_for_operand, at
tree-vect-stmts.c:1464
 Compute (void)
 ^
0xe62369 vect_get_vec_def_for_operand(tree_node*, gimple_statement_base*,
tree_node**)
        /mnt/svn/gcc-trunk/gcc/tree-vect-stmts.c:1464
0xe700c6 vectorizable_store
        /mnt/svn/gcc-trunk/gcc/tree-vect-stmts.c:5316
0xe75e51 vect_transform_stmt(gimple_statement_base*, gimple_stmt_iterator*,
bool*, _slp_tree*, _slp_instance*)
        /mnt/svn/gcc-trunk/gcc/tree-vect-stmts.c:7257
0xe7b88d vect_transform_loop(_loop_vec_info*)
        /mnt/svn/gcc-trunk/gcc/tree-vect-loop.c:6134
0xe968b6 vectorize_loops()
        /mnt/svn/gcc-trunk/gcc/tree-vectorizer.c:491
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.

Tested revisions:
r219053 - ICE
4_9 r219040 - OK


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/64404] [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1
  2014-12-25  8:35 [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1 zsojka at seznam dot cz
@ 2014-12-25 12:20 ` dominiq at lps dot ens.fr
  2015-01-08  9:07 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-12-25 12:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64404

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-12-25
                 CC|                            |rguenth at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Caused by revision r217827.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/64404] [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1
  2014-12-25  8:35 [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1 zsojka at seznam dot cz
  2014-12-25 12:20 ` [Bug tree-optimization/64404] " dominiq at lps dot ens.fr
@ 2015-01-08  9:07 ` rguenth at gcc dot gnu.org
  2015-01-13  9:37 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-08  9:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64404

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
   Target Milestone|---                         |5.0

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/64404] [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1
  2014-12-25  8:35 [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1 zsojka at seznam dot cz
  2014-12-25 12:20 ` [Bug tree-optimization/64404] " dominiq at lps dot ens.fr
  2015-01-08  9:07 ` rguenth at gcc dot gnu.org
@ 2015-01-13  9:37 ` rguenth at gcc dot gnu.org
  2015-01-13 10:57 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13  9:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64404

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok, this also shows the (known :/) wrong-code issue we have with the same-dr
and mixed SLP / loop vectorization.  The vectorizer is fed

  <bb 3>:
  # d_16 = PHI <d_13(4), 0(2)>
  # ivtmp_15 = PHI <ivtmp_14(4), 1024(2)>
  _4 = X[d_16].l;
  _5 = X[d_16].h;
  _6 = _4 + _5;
  Y[d_16].l = _6;
  Y[d_16].h = _6;
  Z[d_16].l = _4;
  _11 = X[d_16].h;
  Z[d_16].h = _11;
  d_13 = d_16 + 1;
  ivtmp_14 = ivtmp_15 - 1;
  if (ivtmp_14 != 0)
    goto <bb 4>;
  else
    goto <bb 5>;

  <bb 4>:
  goto <bb 3>;

where the Y = X op is SLPed but the Z = X one fails to SLP because of the
CSEd load (thus SLP analysis figures that the store has gaps).  When
trying to loop vectorize the Z = X op (by unrolling the loop once)
we get at the DEF for _11 which unfortunately is already vectorized
with SLP and the vectorized stmt is the one with the load permutation
applied.

We really are not prepared to vectorize this loop!

In fact the second X.h load shouldn't be considered a grouped load, but
nothing "splits" it apart again.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/64404] [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1
  2014-12-25  8:35 [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1 zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2015-01-13  9:37 ` rguenth at gcc dot gnu.org
@ 2015-01-13 10:57 ` rguenth at gcc dot gnu.org
  2015-01-13 12:36 ` rguenth at gcc dot gnu.org
  2015-01-13 12:36 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13 10:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64404

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/64404] [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1
  2014-12-25  8:35 [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1 zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2015-01-13 12:36 ` rguenth at gcc dot gnu.org
@ 2015-01-13 12:36 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13 12:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64404

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Jan 13 12:35:27 2015
New Revision: 219527

URL: https://gcc.gnu.org/viewcvs?rev=219527&root=gcc&view=rev
Log:
2015-01-13  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/64404
    * tree-vect-stmts.c (vectorizable_load): Reject conflicting
    SLP types for CSEd loads.

    * gcc.dg/vect/pr64404.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/vect/pr64404.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-stmts.c


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/64404] [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1
  2014-12-25  8:35 [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1 zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2015-01-13 10:57 ` rguenth at gcc dot gnu.org
@ 2015-01-13 12:36 ` rguenth at gcc dot gnu.org
  2015-01-13 12:36 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13 12:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64404

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-01-13 12:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-25  8:35 [Bug tree-optimization/64404] New: [5 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1 zsojka at seznam dot cz
2014-12-25 12:20 ` [Bug tree-optimization/64404] " dominiq at lps dot ens.fr
2015-01-08  9:07 ` rguenth at gcc dot gnu.org
2015-01-13  9:37 ` rguenth at gcc dot gnu.org
2015-01-13 10:57 ` rguenth at gcc dot gnu.org
2015-01-13 12:36 ` rguenth at gcc dot gnu.org
2015-01-13 12:36 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).