public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/97615] New: [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497
@ 2020-10-28 10:15 slyfox at gcc dot gnu.org
  2020-10-28 10:24 ` [Bug tree-optimization/97615] " jakub at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: slyfox at gcc dot gnu.org @ 2020-10-28 10:15 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 97615
           Summary: [11 Regression] -O3 on -Wsequence-point-unclean code
                    ICEs: during GIMPLE pass: slp: internal compiler
                    error: in vectorizable_live_operation, at
                    tree-vect-loop.c:8497
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu

The ICE initially observed on dolphin-emu code base. cvise reduced it down to
the following example:

  $ cat bug.cpp
  // g++-11.0.0 -O3 -std=c++17 -c bug.cpp -o bug.o -Wall
  short *a;
  void b(int c, int d) {
    *a++ = *a++ = c;
    *a++ = d;
  }
  int e, f;
  void g() {
    b(e + f - 2, e + f - 1);
    b(e + f - 1, 0);
  }

gcc crashes as:

$ LANG=C g++-11.0.0 -O3 -c bug.cpp -o bug.o -Wall
bug.cpp: In function 'void b(int, int)':
bug.cpp:4:5: warning: operation on 'a' may be undefined [-Wsequence-point]
    4 |   *a++ = *a++ = c;
      |    ~^~
during GIMPLE pass: slp
bug.cpp: In function 'void g()':
bug.cpp:8:6: internal compiler error: in vectorizable_live_operation, at
tree-vect-loop.c:8497
    8 | void g() {
      |      ^
0x60f1cb vectorizable_live_operation(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*, int, bool,
vec<stmt_info_for_cost, va_heap, vl_ptr>*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-loop.c:8497
0xe82bd7 can_vectorize_live_stmts
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-stmts.c:10529
0xea4f58 vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*,
_slp_tree*, _slp_instance*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-stmts.c:10913
0xed1611 vect_schedule_slp_node
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-slp.c:5360
0xedd1cf vect_schedule_scc
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-slp.c:5495
0xedd8fc vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-slp.c:5624
0xeded4b vect_slp_region
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-slp.c:4232
0xeded4b vect_slp_bbs
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-slp.c:4350
0xedfb3c vect_slp_function(function*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vect-slp.c:4418
0xee1923 execute
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/tree-vectorizer.c:1437

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

* [Bug tree-optimization/97615] [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497
  2020-10-28 10:15 [Bug tree-optimization/97615] New: [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497 slyfox at gcc dot gnu.org
@ 2020-10-28 10:24 ` jakub at gcc dot gnu.org
  2020-10-28 10:26 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-10-28 10:24 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Same testcase rewritten to be -Wsequence-point clean:
short *a;
int e, f;

void
foo (int c, int d)
{
  short *a1, *a2, *a3;
  a1 = a;
  a = a1 + 1;
  *a1 = c;
  a2 = a;
  a = a2 + 1;
  *a2 = *a1;
  a3 = a;
  a = a3 + 1;
  *a3 = d;
}

void
bar ()
{
  foo (e + f - 2, e + f - 1);
  foo (e + f - 1, 0);
}

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

* [Bug tree-optimization/97615] [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497
  2020-10-28 10:15 [Bug tree-optimization/97615] New: [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497 slyfox at gcc dot gnu.org
  2020-10-28 10:24 ` [Bug tree-optimization/97615] " jakub at gcc dot gnu.org
@ 2020-10-28 10:26 ` jakub at gcc dot gnu.org
  2020-10-28 12:05 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-10-28 10:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
And slightly simplified; still ICEs with -O3:

short *a;
int e, f;

void
foo (int c, int d)
{
  short *a1, *a2, *a3;
  a1 = a++;
  *a1 = c;
  a2 = a++;
  *a2 = *a1;
  a3 = a++;
  *a3 = d;
}

void
bar (void)
{
  foo (e + f - 2, e + f - 1);
  foo (e + f - 1, 0);
}

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

* [Bug tree-optimization/97615] [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497
  2020-10-28 10:15 [Bug tree-optimization/97615] New: [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497 slyfox at gcc dot gnu.org
  2020-10-28 10:24 ` [Bug tree-optimization/97615] " jakub at gcc dot gnu.org
  2020-10-28 10:26 ` jakub at gcc dot gnu.org
@ 2020-10-28 12:05 ` rguenth at gcc dot gnu.org
  2020-10-28 14:04 ` cvs-commit at gcc dot gnu.org
  2020-10-28 14:05 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-28 12:05 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2020-10-28
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
           Priority|P3                          |P1
   Target Milestone|---                         |11.0
     Ever confirmed|0                           |1

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

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

* [Bug tree-optimization/97615] [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497
  2020-10-28 10:15 [Bug tree-optimization/97615] New: [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497 slyfox at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-10-28 12:05 ` rguenth at gcc dot gnu.org
@ 2020-10-28 14:04 ` cvs-commit at gcc dot gnu.org
  2020-10-28 14:05 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-10-28 14:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 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:b626b00823af9ca9ab619fe13d1e8703a3101dab

commit r11-4482-gb626b00823af9ca9ab619fe13d1e8703a3101dab
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Oct 28 13:21:53 2020 +0100

    tree-optimization/97615 - avoid creating externals from patterns

    The previous change missed to check for patterns again, the following
    corrects that.

    2020-10-28  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/97615
            * tree-vect-slp.c (vect_build_slp_tree_2): Do not build
            an external from pattern defs.

            * gcc.dg/vect/bb-slp-pr97615.c: New testcase.

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

* [Bug tree-optimization/97615] [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497
  2020-10-28 10:15 [Bug tree-optimization/97615] New: [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497 slyfox at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2020-10-28 14:04 ` cvs-commit at gcc dot gnu.org
@ 2020-10-28 14:05 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-28 14:05 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

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

end of thread, other threads:[~2020-10-28 14:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-28 10:15 [Bug tree-optimization/97615] New: [11 Regression] -O3 on -Wsequence-point-unclean code ICEs: during GIMPLE pass: slp: internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8497 slyfox at gcc dot gnu.org
2020-10-28 10:24 ` [Bug tree-optimization/97615] " jakub at gcc dot gnu.org
2020-10-28 10:26 ` jakub at gcc dot gnu.org
2020-10-28 12:05 ` rguenth at gcc dot gnu.org
2020-10-28 14:04 ` cvs-commit at gcc dot gnu.org
2020-10-28 14:05 ` 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).