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).