public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
@ 2015-02-14  9:22 zsojka at seznam dot cz
  2015-02-14 19:47 ` [Bug tree-optimization/65063] [4.8/4.9/5 Regression] " jakub at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: zsojka at seznam dot cz @ 2015-02-14  9:22 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 65063
           Summary: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3
                    -fno-tree-loop-ivcanon -fno-tree-vectorize
           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 34754
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34754&action=edit
reduced testcase

Output (on reduced testcase):
$ gcc -Wall -W testcase.c -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
$ ./a.out 
Aborted

The assembly code shows:
...
    mov    DWORD PTR out[rip], 0    # out,
    mov    DWORD PTR out[rip+4], 16    # out,
    mov    DWORD PTR out[rip+8], 256    # out,
    mov    DWORD PTR out[rip+12], 16384    # out,
    call    abort    #

out[] = {0, 16, 256, 16384}
but should be
out[] = {0, 16, 256, 4096}

(gdb) p in
$1 = {{0, 0, 0, 0}, {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, {2, 2, 2, 2}, {2,
2, 2, 2}, {2, 2, 2, 2}, {3, 3, 3, 3}}
(gdb) p out
$2 = {0, 16, 256, 16384}

in[] looks fine, also in the assembly

The first dump where "16384" appears is 191r.cse1. This might be the same as
PR63593.

Tested revisions:
r220676 - fail


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

* [Bug tree-optimization/65063] [4.8/4.9/5 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
@ 2015-02-14 19:47 ` jakub at gcc dot gnu.org
  2015-02-16 10:58 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-02-14 19:47 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-02-14
                 CC|                            |jakub at gcc dot gnu.org
   Target Milestone|---                         |4.8.5
            Summary|gcc.dg/vect/vect-double-red |[4.8/4.9/5 Regression]
                   |uc-6.c FAILs with -O3       |gcc.dg/vect/vect-double-red
                   |-fno-tree-loop-ivcanon      |uc-6.c FAILs with -O3
                   |-fno-tree-vectorize         |-fno-tree-loop-ivcanon
                   |                            |-fno-tree-vectorize
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
r134653 works, r134746 ICEs, r213809 still ICEs, r213810 is miscompiled.


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

* [Bug tree-optimization/65063] [4.8/4.9/5 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
  2015-02-14 19:47 ` [Bug tree-optimization/65063] [4.8/4.9/5 Regression] " jakub at gcc dot gnu.org
@ 2015-02-16 10:58 ` rguenth at gcc dot gnu.org
  2015-02-17 12:03 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-16 10:58 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         Depends on|                            |63593
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
-fno-predictive-commoning fixes it, so indeed related to PR63593.  Mine.


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

* [Bug tree-optimization/65063] [4.8/4.9/5 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
  2015-02-14 19:47 ` [Bug tree-optimization/65063] [4.8/4.9/5 Regression] " jakub at gcc dot gnu.org
  2015-02-16 10:58 ` rguenth at gcc dot gnu.org
@ 2015-02-17 12:03 ` rguenth at gcc dot gnu.org
  2015-02-18 13:09 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-17 12:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
The tail loop ends up with completely off initial conditions because its
values are computed before pcom transform which ends up releasing the
SSA names used therein.  Then unrolling assigns some random new SSA names
to them.

So it seems to me that pcom doesn't deal with the case of a tail loop
at all - at least it doesn't compute entry values for that.  There isn't
a 1:1 relation between the values either and the old IVs are removed.
Also there seems to be always at least one tail iteration.

In the existing testcases the old IVs simply don't become dead.

So we have to restrict unrolling to the case where we don't replace looparound
PHIs.


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

* [Bug tree-optimization/65063] [4.8/4.9/5 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2015-02-17 12:03 ` rguenth at gcc dot gnu.org
@ 2015-02-18 13:09 ` rguenth at gcc dot gnu.org
  2015-02-18 13:11 ` [Bug tree-optimization/65063] [4.8/4.9 " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-18 13:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Feb 18 13:08:58 2015
New Revision: 220788

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

    PR tree-optimization/65063
    * tree-predcom.c (determine_unroll_factor): Return 1 if we
    have replaced looparound PHIs.

    * gcc.dg/pr65063.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/pr65063.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-predcom.c


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

* [Bug tree-optimization/65063] [4.8/4.9 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2015-02-18 13:09 ` rguenth at gcc dot gnu.org
@ 2015-02-18 13:11 ` rguenth at gcc dot gnu.org
  2015-02-20  7:32 ` [Bug tree-optimization/65063] [4.8 " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-18 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |5.0
            Summary|[4.8/4.9/5 Regression]      |[4.8/4.9 Regression]
                   |gcc.dg/vect/vect-double-red |gcc.dg/vect/vect-double-red
                   |uc-6.c FAILs with -O3       |uc-6.c FAILs with -O3
                   |-fno-tree-loop-ivcanon      |-fno-tree-loop-ivcanon
                   |-fno-tree-vectorize         |-fno-tree-vectorize
      Known to fail|5.0                         |

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


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

* [Bug tree-optimization/65063] [4.8 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2015-02-18 13:11 ` [Bug tree-optimization/65063] [4.8/4.9 " rguenth at gcc dot gnu.org
@ 2015-02-20  7:32 ` rguenth at gcc dot gnu.org
  2015-02-25 10:41 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-20  7:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Feb 20 07:32:08 2015
New Revision: 220835

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

    Backport from mainline
    2015-01-12  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/64530
    * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
    back dr1.

    * gfortran.dg/pr64530.f90: New testcase.

    2015-02-13  Richard Biener  <rguenther@suse.de>

    PR lto/64373
    * lto-streamer-out.c (tree_is_indexable): Guard for NULL
    DECL_CONTEXT.

    * gcc.dg/lto/pr64373_0.c: New testcase.

    2015-02-16  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/63593
    * tree-predcom.c (execute_pred_commoning_chain): Delay removing
    stmts and releasing SSA names until...
    (execute_pred_commoning): ... after processing all chains.

    * gcc.dg/pr63593.c: New testcase.

    2015-02-18  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/65063
    * tree-predcom.c (determine_unroll_factor): Return 1 if we
    have replaced looparound PHIs.

    * gcc.dg/pr65063.c: New testcase.

Added:
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/lto/pr64373_0.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63593.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr65063.c
    branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr64530.f90
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/lto-streamer-out.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_9-branch/gcc/tree-loop-distribution.c
    branches/gcc-4_9-branch/gcc/tree-predcom.c


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

* [Bug tree-optimization/65063] [4.8 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
                   ` (5 preceding siblings ...)
  2015-02-20  7:32 ` [Bug tree-optimization/65063] [4.8 " rguenth at gcc dot gnu.org
@ 2015-02-25 10:41 ` rguenth at gcc dot gnu.org
  2015-02-25 11:13 ` rguenth at gcc dot gnu.org
  2015-02-25 11:22 ` rguenth at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-25 10:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Feb 25 10:28:01 2015
New Revision: 220960

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

    Backport from mainline
    2015-02-16  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/63593
    * tree-predcom.c (execute_pred_commoning_chain): Delay removing
    stmts and releasing SSA names until...
    (execute_pred_commoning): ... after processing all chains.

    * gcc.dg/pr63593.c: New testcase.

    2015-02-18  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/65063
    * tree-predcom.c (determine_unroll_factor): Return 1 if we
    have replaced looparound PHIs.

    * gcc.dg/pr65063.c: New testcase.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr63593.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr65063.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_8-branch/gcc/tree-predcom.c


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

* [Bug tree-optimization/65063] [4.8 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
                   ` (6 preceding siblings ...)
  2015-02-25 10:41 ` rguenth at gcc dot gnu.org
@ 2015-02-25 11:13 ` rguenth at gcc dot gnu.org
  2015-02-25 11:22 ` rguenth at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-25 11:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65063
Bug 65063 depends on bug 63593, which changed state.

Bug 63593 Summary: ICE: verify_gimple failed: incompatible types in PHI argument 0 with -O3 -fno-tree-vectorize
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63593

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED


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

* [Bug tree-optimization/65063] [4.8 Regression] gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize
  2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
                   ` (7 preceding siblings ...)
  2015-02-25 11:13 ` rguenth at gcc dot gnu.org
@ 2015-02-25 11:22 ` rguenth at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-25 11:22 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Known to work|                            |4.8.5
         Resolution|---                         |FIXED
      Known to fail|                            |4.8.4

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


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

end of thread, other threads:[~2015-02-25 10:35 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-14  9:22 [Bug tree-optimization/65063] New: gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize zsojka at seznam dot cz
2015-02-14 19:47 ` [Bug tree-optimization/65063] [4.8/4.9/5 Regression] " jakub at gcc dot gnu.org
2015-02-16 10:58 ` rguenth at gcc dot gnu.org
2015-02-17 12:03 ` rguenth at gcc dot gnu.org
2015-02-18 13:09 ` rguenth at gcc dot gnu.org
2015-02-18 13:11 ` [Bug tree-optimization/65063] [4.8/4.9 " rguenth at gcc dot gnu.org
2015-02-20  7:32 ` [Bug tree-optimization/65063] [4.8 " rguenth at gcc dot gnu.org
2015-02-25 10:41 ` rguenth at gcc dot gnu.org
2015-02-25 11:13 ` rguenth at gcc dot gnu.org
2015-02-25 11:22 ` 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).