public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed
@ 2020-06-17  6:59 vsevolod.livinskij at frtk dot ru
  2020-06-17  7:00 ` [Bug tree-optimization/95717] " vsevolod.livinskij at frtk dot ru
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: vsevolod.livinskij at frtk dot ru @ 2020-06-17  6:59 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 95717
           Summary: ICE during GIMPLE pass: vect: verify_ssa failed
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vsevolod.livinskij at frtk dot ru
  Target Milestone: ---

Error:
$ g++ -c -O3 func.cpp
func.cpp: In function ‘void g(bool)’:
func.cpp:5:6: error: definition in block 61 does not dominate use in block 59
    5 | void g(bool h) {
      |      ^
for SSA_NAME: prephitmp_100 in statement:
prephitmp_100 = PHI <prephitmp_100(59), _103(62)>
PHI argument
prephitmp_100
for PHI node
prephitmp_100 = PHI <prephitmp_100(59), _103(62)>
during GIMPLE pass: vect
func.cpp:5:6: internal compiler error: verify_ssa failed
0x13368a2 verify_ssa(bool, bool)
        gcc/tree-ssa.c:1208
0x10228a5 execute_function_todo
        gcc/passes.c:1992
0x102357e execute_todo
        gcc/passes.c:2039

Reproducer:
bool a;
extern bool b[];
long c, d;
int *f;
void g(bool h) {
  for (short e = 0; e < c; e = 4)
    for (; d; d++)
      b[d] = a = f[d] ? c ? h : 0 : h;
}

GCC version:
gcc version 11.0.0 (56638b9b1853666f575928f8baf17f70e4ed3517)

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

* [Bug tree-optimization/95717] ICE during GIMPLE pass: vect: verify_ssa failed
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
@ 2020-06-17  7:00 ` vsevolod.livinskij at frtk dot ru
  2020-06-17  7:10 ` [Bug tree-optimization/95717] [9/10/11 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6 marxin at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: vsevolod.livinskij at frtk dot ru @ 2020-06-17  7:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Vsevolod Livinskiy <vsevolod.livinskij at frtk dot ru> ---
It might be related to bug 94443

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

* [Bug tree-optimization/95717] [9/10/11 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
  2020-06-17  7:00 ` [Bug tree-optimization/95717] " vsevolod.livinskij at frtk dot ru
@ 2020-06-17  7:10 ` marxin at gcc dot gnu.org
  2020-06-17  9:06 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-06-17  7:10 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
            Summary|ICE during GIMPLE pass:     |[9/10/11 Regression] ICE
                   |vect: verify_ssa failed     |during GIMPLE pass: vect:
                   |                            |verify_ssa failed since
                   |                            |r9-5325-gf25507d041de4df6
   Last reconfirmed|                            |2020-06-17
             Status|UNCONFIRMED                 |NEW
                 CC|                            |marxin at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r9-5325-gf25507d041de4df6.

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

* [Bug tree-optimization/95717] [9/10/11 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
  2020-06-17  7:00 ` [Bug tree-optimization/95717] " vsevolod.livinskij at frtk dot ru
  2020-06-17  7:10 ` [Bug tree-optimization/95717] [9/10/11 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6 marxin at gcc dot gnu.org
@ 2020-06-17  9:06 ` rguenth at gcc dot gnu.org
  2020-06-17 11:46 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-17  9:06 UTC (permalink / raw)
  To: gcc-bugs

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

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|---                         |9.4

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
I'll have a look.  There's a missed optimization but that causes the SSA update
mechanism in the vectorizer to go out-of-sync somehow.

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

* [Bug tree-optimization/95717] [9/10/11 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
                   ` (2 preceding siblings ...)
  2020-06-17  9:06 ` rguenth at gcc dot gnu.org
@ 2020-06-17 11:46 ` rguenth at gcc dot gnu.org
  2020-06-17 13:03 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-17 11:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
The bogus def is set via

  if (scalar_loop != loop)
    {
      /* If we copied from SCALAR_LOOP rather than LOOP, SSA_NAMEs from
         SCALAR_LOOP will have current_def set to SSA_NAMEs in the new_loop,
         but LOOP will not.  slpeel_update_phi_nodes_for_guard{1,2} expects
         the LOOP SSA_NAMEs (on the exit edge and edge from latch to
         header) to have current_def set, so copy them over.  */ 
      slpeel_duplicate_current_defs_from_edges (single_exit (scalar_loop),
                                                exit);

because that interferes with the renaming process.  The if-conversion
applied the missed optimization to the to-be vectorized loop introducing
a LC PHI (required for the not if-converted copy) which has one invariant
and one non-invariant arg.

So we have to do that copying after renaming in the BBs.  That seems to work,
testing patch.

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

* [Bug tree-optimization/95717] [9/10/11 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
                   ` (3 preceding siblings ...)
  2020-06-17 11:46 ` rguenth at gcc dot gnu.org
@ 2020-06-17 13:03 ` cvs-commit at gcc dot gnu.org
  2020-06-17 13:03 ` [Bug tree-optimization/95717] [9/10 " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-06-17 13:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:d0909f5858ad81e6d8b73fa6193be19cb5e6ed7b

commit r11-1447-gd0909f5858ad81e6d8b73fa6193be19cb5e6ed7b
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Jun 17 14:57:59 2020 +0200

    tree-optimization/95717 - fix SSA update for vectorizer epilogue

    This fixes yet another issue with the custom SSA updating in the
    vectorizer when we copy from the non-if-converted loop.  We must
    not mess with current defs before we updated the BB copies.

    2020-06-17  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/95717
            * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
            Move BB SSA updating before exit/latch PHI current def copying.

            * g++.dg/torture/pr95717.C: New testcase.

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

* [Bug tree-optimization/95717] [9/10 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
                   ` (4 preceding siblings ...)
  2020-06-17 13:03 ` cvs-commit at gcc dot gnu.org
@ 2020-06-17 13:03 ` rguenth at gcc dot gnu.org
  2020-06-24  7:02 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-17 13:03 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11 Regression] ICE    |[9/10 Regression] ICE
                   |during GIMPLE pass: vect:   |during GIMPLE pass: vect:
                   |verify_ssa failed since     |verify_ssa failed since
                   |r9-5325-gf25507d041de4df6   |r9-5325-gf25507d041de4df6
      Known to work|                            |11.0
      Known to fail|                            |10.1.0

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

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

* [Bug tree-optimization/95717] [9/10 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
                   ` (5 preceding siblings ...)
  2020-06-17 13:03 ` [Bug tree-optimization/95717] [9/10 " rguenth at gcc dot gnu.org
@ 2020-06-24  7:02 ` cvs-commit at gcc dot gnu.org
  2020-06-24  7:02 ` [Bug tree-optimization/95717] [9 " rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-06-24  7:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:f3a27a610b0eb9a7ea76f61b4fecf7e66e86a3e1

commit r10-8359-gf3a27a610b0eb9a7ea76f61b4fecf7e66e86a3e1
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Jun 17 14:57:59 2020 +0200

    tree-optimization/95717 - fix SSA update for vectorizer epilogue

    This fixes yet another issue with the custom SSA updating in the
    vectorizer when we copy from the non-if-converted loop.  We must
    not mess with current defs before we updated the BB copies.

    2020-06-17  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/95717
            * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
            Move BB SSA updating before exit/latch PHI current def copying.

            * g++.dg/torture/pr95717.C: New testcase.

    (cherry picked from commit d0909f5858ad81e6d8b73fa6193be19cb5e6ed7b)

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

* [Bug tree-optimization/95717] [9 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
                   ` (6 preceding siblings ...)
  2020-06-24  7:02 ` cvs-commit at gcc dot gnu.org
@ 2020-06-24  7:02 ` rguenth at gcc dot gnu.org
  2020-09-11 10:37 ` cvs-commit at gcc dot gnu.org
  2020-09-11 10:38 ` rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-24  7:02 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10 Regression] ICE       |[9 Regression] ICE during
                   |during GIMPLE pass: vect:   |GIMPLE pass: vect:
                   |verify_ssa failed since     |verify_ssa failed since
                   |r9-5325-gf25507d041de4df6   |r9-5325-gf25507d041de4df6
      Known to work|                            |10.1.1
           Priority|P3                          |P2

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

* [Bug tree-optimization/95717] [9 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
                   ` (7 preceding siblings ...)
  2020-06-24  7:02 ` [Bug tree-optimization/95717] [9 " rguenth at gcc dot gnu.org
@ 2020-09-11 10:37 ` cvs-commit at gcc dot gnu.org
  2020-09-11 10:38 ` rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-09-11 10:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:1102a2c1fd221ee38f2f41aaf1094d4abbc3aedc

commit r9-8861-g1102a2c1fd221ee38f2f41aaf1094d4abbc3aedc
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Jun 17 14:57:59 2020 +0200

    tree-optimization/95717 - fix SSA update for vectorizer epilogue

    This fixes yet another issue with the custom SSA updating in the
    vectorizer when we copy from the non-if-converted loop.  We must
    not mess with current defs before we updated the BB copies.

    2020-06-17  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/95717
            * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
            Move BB SSA updating before exit/latch PHI current def copying.

            * g++.dg/torture/pr95717.C: New testcase.

    (cherry picked from commit d0909f5858ad81e6d8b73fa6193be19cb5e6ed7b)

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

* [Bug tree-optimization/95717] [9 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
  2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
                   ` (8 preceding siblings ...)
  2020-09-11 10:37 ` cvs-commit at gcc dot gnu.org
@ 2020-09-11 10:38 ` rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-09-11 10:38 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
      Known to fail|                            |9.3.0
      Known to work|                            |9.3.1

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

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

end of thread, other threads:[~2020-09-11 10:38 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-17  6:59 [Bug tree-optimization/95717] New: ICE during GIMPLE pass: vect: verify_ssa failed vsevolod.livinskij at frtk dot ru
2020-06-17  7:00 ` [Bug tree-optimization/95717] " vsevolod.livinskij at frtk dot ru
2020-06-17  7:10 ` [Bug tree-optimization/95717] [9/10/11 Regression] ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6 marxin at gcc dot gnu.org
2020-06-17  9:06 ` rguenth at gcc dot gnu.org
2020-06-17 11:46 ` rguenth at gcc dot gnu.org
2020-06-17 13:03 ` cvs-commit at gcc dot gnu.org
2020-06-17 13:03 ` [Bug tree-optimization/95717] [9/10 " rguenth at gcc dot gnu.org
2020-06-24  7:02 ` cvs-commit at gcc dot gnu.org
2020-06-24  7:02 ` [Bug tree-optimization/95717] [9 " rguenth at gcc dot gnu.org
2020-09-11 10:37 ` cvs-commit at gcc dot gnu.org
2020-09-11 10:38 ` 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).