public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect"
@ 2021-04-07 2:11 haoxintu at gmail dot com
2021-04-07 6:11 ` [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759 marxin at gcc dot gnu.org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: haoxintu at gmail dot com @ 2021-04-07 2:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
Bug ID: 99947
Summary: [11 Regression] ICE Segmentation fault "during GIMPLE
pass: vect"
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: haoxintu at gmail dot com
Target Milestone: ---
Hi all.
$cat small.c
#include <stdint.h>
int a, b, d, e;
int16_t c;
void f() {
for (; e; e++) {
int g = 6;
for (; g > 2; g--) {
int i = -8;
while (i < 20) {
i += 5;
a += b;
}
c *= d;
}
b--;
}
}
$gcc -O3 small.c
during GIMPLE pass: vect
small.c: In function ‘f’:
small.c:4:6: internal compiler error: Segmentation fault
4 | void f() {
| ^
0xb9f63f crash_signal
../../gcc/toplev.c:327
0x90d820 useless_type_conversion_p(tree_node*, tree_node*)
../../gcc/gimple-expr.c:71
0x103daa8 gimple_simplify_VIEW_CONVERT_EXPR
/home/tuhaoxin/compilers/gcc/build-20210330/gcc/gimple-match.c:27761
0xf48bd2 gimple_resimplify1
../../gcc/gimple-match-head.c:242
0x105531e gimple_match_op::resimplify(gimple**, tree_node* (*)(tree_node*))
../../gcc/gimple-match-head.c:489
0x105531e gimple_simplify_MULT_EXPR
/home/tuhaoxin/compilers/gcc/build-20210330/gcc/gimple-match.c:74302
0x1069d44 gimple_simplify(tree_code, tree_node*, tree_node*, tree_node*,
gimple**, tree_node* (*)(tree_node*))
../../gcc/gimple-match-head.c:717
0x915daa gimple_build(gimple**, unsigned int, tree_code, tree_node*,
tree_node*, tree_node*)
../../gcc/gimple-fold.c:8509
0xdb30a8 gimple_build(gimple**, tree_code, tree_node*, tree_node*, tree_node*)
../../gcc/gimple-fold.h:84
0xdb30a8 vectorizable_induction(_loop_vec_info*, _stmt_vec_info*, gimple**,
_slp_tree*, vec<stmt_info_for_cost, va_heap, vl_ptr>*)
../../gcc/tree-vect-loop.c:8231
0xda89bd vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*,
_slp_tree*, _slp_instance*)
../../gcc/tree-vect-stmts.c:10901
0xdd4cf8 vect_schedule_slp_node
../../gcc/tree-vect-slp.c:6193
0xde18a8 vect_schedule_scc
../../gcc/tree-vect-slp.c:6355
0xde15e9 vect_schedule_scc
../../gcc/tree-vect-slp.c:6336
0xde1d3b vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>)
../../gcc/tree-vect-slp.c:6471
0xdc4735 vect_transform_loop(_loop_vec_info*, gimple*)
../../gcc/tree-vect-loop.c:9535
0xdebbcc try_vectorize_loop_1
../../gcc/tree-vectorizer.c:1104
0xdec7b1 vectorize_loops()
../../gcc/tree-vectorizer.c:1243
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
$gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/tuhaoxin/compilers/gcc/build-20210330/libexec/gcc/x86_64-pc-linux-gnu/11.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure
--prefix=/home/tuhaoxin/compilers/gcc/build-20210330/ --enable-bootstrap
--enable-checking=release --enable-languages=c,c++ -disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.1 20210330 (experimental) (GCC)
Note that this issue only occurs in the trunk version, so I guess it's a
regression problem.
Reproduced in Godbolt: https://godbolt.org/z/Evh93dzM6
Thanks,
Haoxin
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
@ 2021-04-07 6:11 ` marxin at gcc dot gnu.org
2021-04-07 7:37 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-04-07 6:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |11.0
CC| |marxin at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
Last reconfirmed| |2021-04-07
Ever confirmed|0 |1
Known to work| |10.2.0
Summary|[11 Regression] ICE |[11 Regression] ICE
|Segmentation fault "during |Segmentation fault "during
|GIMPLE pass: vect" |GIMPLE pass: vect" since
| |r11-4714-g092cdbd919849759
Status|UNCONFIRMED |NEW
Priority|P3 |P1
Target Milestone|--- |11.0
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Thanks for a nice bug report.
Started with r11-4714-g092cdbd919849759.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
2021-04-07 6:11 ` [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759 marxin at gcc dot gnu.org
@ 2021-04-07 7:37 ` rguenth at gcc dot gnu.org
2021-04-07 7:40 ` marxin at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-07 7:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hum, I can't reproduce it.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
2021-04-07 6:11 ` [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759 marxin at gcc dot gnu.org
2021-04-07 7:37 ` rguenth at gcc dot gnu.org
@ 2021-04-07 7:40 ` marxin at gcc dot gnu.org
2021-04-07 7:54 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-04-07 7:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
There's an error reported by valgrind:
==18930== Invalid read of size 8
==18930== at 0x11005A6: quick_push (vec.h:1023)
==18930== by 0x11005A6: quick_push (vec.h:1875)
==18930== by 0x11005A6: safe_push (vec.h:1888)
==18930== by 0x11005A6: vectorizable_induction(_loop_vec_info*,
_stmt_vec_info*, gimple**, _slp_tree*, vec<stmt_info_for_cost, va_heap,
vl_ptr>*) (tree-vect-loop.c:8209)
==18930== by 0x10F7B00: vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*) (tree-vect-stmts.c:10901)
==18930== by 0x11298A6: vect_schedule_slp_node(vec_info*, _slp_tree*,
_slp_instance*) (tree-vect-slp.c:6193)
==18930== by 0x11364A2: vect_schedule_scc(vec_info*, _slp_tree*,
_slp_instance*, hash_map<_slp_tree*, slp_scc_info,
simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&,
vec<_slp_tree*, va_heap, vl_ptr>&) (tree-vect-slp.c:6355)
==18930== by 0x113621F: vect_schedule_scc(vec_info*, _slp_tree*,
_slp_instance*, hash_map<_slp_tree*, slp_scc_info,
simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&,
vec<_slp_tree*, va_heap, vl_ptr>&) (tree-vect-slp.c:6336)
==18930== by 0x1136ACF: vect_schedule_slp(vec_info*, vec<_slp_instance*,
va_heap, vl_ptr>) (tree-vect-slp.c:6471)
==18930== by 0x1115717: vect_transform_loop(_loop_vec_info*, gimple*)
(tree-vect-loop.c:9535)
==18930== by 0x1141FFF: try_vectorize_loop_1(hash_table<simduid_to_vf,
false, xcallocator>*&, unsigned int*, loop*, gimple*, gimple*)
(tree-vectorizer.c:1104)
==18930== by 0x1142CE0: vectorize_loops() (tree-vectorizer.c:1243)
==18930== by 0xD99CC7: execute_one_pass(opt_pass*) (passes.c:2567)
==18930== by 0xD9A6B2: execute_pass_list_1(opt_pass*) (passes.c:2656)
==18930== by 0xD9A6C4: execute_pass_list_1(opt_pass*) (passes.c:2657)
==18930== Address 0x5b5dc38 is 8 bytes inside a block of size 40 free'd
==18930== at 0x484239F: realloc (vg_replace_malloc.c:1192)
==18930== by 0x1ADDF8D: xrealloc (xmalloc.c:179)
==18930== by 0x1100649: reserve<tree_node*> (vec.h:290)
==18930== by 0x1100649: reserve (vec.h:1778)
==18930== by 0x1100649: safe_push (vec.h:1887)
==18930== by 0x1100649: vectorizable_induction(_loop_vec_info*,
_stmt_vec_info*, gimple**, _slp_tree*, vec<stmt_info_for_cost, va_heap,
vl_ptr>*) (tree-vect-loop.c:8209)
==18930== by 0x10F7B00: vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*) (tree-vect-stmts.c:10901)
==18930== by 0x11298A6: vect_schedule_slp_node(vec_info*, _slp_tree*,
_slp_instance*) (tree-vect-slp.c:6193)
==18930== by 0x11364A2: vect_schedule_scc(vec_info*, _slp_tree*,
_slp_instance*, hash_map<_slp_tree*, slp_scc_info,
simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&,
vec<_slp_tree*, va_heap, vl_ptr>&) (tree-vect-slp.c:6355)
==18930== by 0x113621F: vect_schedule_scc(vec_info*, _slp_tree*,
_slp_instance*, hash_map<_slp_tree*, slp_scc_info,
simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&,
vec<_slp_tree*, va_heap, vl_ptr>&) (tree-vect-slp.c:6336)
==18930== by 0x1136ACF: vect_schedule_slp(vec_info*, vec<_slp_instance*,
va_heap, vl_ptr>) (tree-vect-slp.c:6471)
==18930== by 0x1115717: vect_transform_loop(_loop_vec_info*, gimple*)
(tree-vect-loop.c:9535)
==18930== by 0x1141FFF: try_vectorize_loop_1(hash_table<simduid_to_vf,
false, xcallocator>*&, unsigned int*, loop*, gimple*, gimple*)
(tree-vectorizer.c:1104)
==18930== by 0x1142CE0: vectorize_loops() (tree-vectorizer.c:1243)
==18930== by 0xD99CC7: execute_one_pass(opt_pass*) (passes.c:2567)
==18930== Block was alloc'd at
==18930== at 0x483D70F: malloc (vg_replace_malloc.c:380)
==18930== by 0x1ADDF9F: xrealloc (xmalloc.c:177)
==18930== by 0x11000DE: reserve<tree_node*> (vec.h:290)
==18930== by 0x11000DE: reserve (vec.h:1778)
==18930== by 0x11000DE: safe_push (vec.h:1887)
==18930== by 0x11000DE: vectorizable_induction(_loop_vec_info*,
_stmt_vec_info*, gimple**, _slp_tree*, vec<stmt_info_for_cost, va_heap,
vl_ptr>*) (tree-vect-loop.c:8154)
==18930== by 0x10F7B00: vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*) (tree-vect-stmts.c:10901)
==18930== by 0x11298A6: vect_schedule_slp_node(vec_info*, _slp_tree*,
_slp_instance*) (tree-vect-slp.c:6193)
==18930== by 0x11364A2: vect_schedule_scc(vec_info*, _slp_tree*,
_slp_instance*, hash_map<_slp_tree*, slp_scc_info,
simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&,
vec<_slp_tree*, va_heap, vl_ptr>&) (tree-vect-slp.c:6355)
==18930== by 0x113621F: vect_schedule_scc(vec_info*, _slp_tree*,
_slp_instance*, hash_map<_slp_tree*, slp_scc_info,
simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&,
vec<_slp_tree*, va_heap, vl_ptr>&) (tree-vect-slp.c:6336)
==18930== by 0x1136ACF: vect_schedule_slp(vec_info*, vec<_slp_instance*,
va_heap, vl_ptr>) (tree-vect-slp.c:6471)
==18930== by 0x1115717: vect_transform_loop(_loop_vec_info*, gimple*)
(tree-vect-loop.c:9535)
==18930== by 0x1141FFF: try_vectorize_loop_1(hash_table<simduid_to_vf,
false, xcallocator>*&, unsigned int*, loop*, gimple*, gimple*)
(tree-vectorizer.c:1104)
==18930== by 0x1142CE0: vectorize_loops() (tree-vectorizer.c:1243)
==18930== by 0xD99CC7: execute_one_pass(opt_pass*) (passes.c:2567)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
` (2 preceding siblings ...)
2021-04-07 7:40 ` marxin at gcc dot gnu.org
@ 2021-04-07 7:54 ` rguenth at gcc dot gnu.org
2021-04-07 8:51 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-07 7:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Meh. C++.
vec_steps.safe_push (vec_steps[0]);
breaks when vec_steps.safe_push re-allocates (vec_steps[0] returns a
reference).
Testing a fix.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
` (3 preceding siblings ...)
2021-04-07 7:54 ` rguenth at gcc dot gnu.org
@ 2021-04-07 8:51 ` cvs-commit at gcc dot gnu.org
2021-04-07 8:52 ` rguenth at gcc dot gnu.org
2021-04-07 9:20 ` haoxintu at gmail dot com
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-07 8:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
--- 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:d11bcbe166c03f722c0e0d41d6e87ac445758fba
commit r11-8025-gd11bcbe166c03f722c0e0d41d6e87ac445758fba
Author: Richard Biener <rguenther@suse.de>
Date: Wed Apr 7 10:02:07 2021 +0200
tree-optimization/99947 - avoid v.safe_push (v[0])
This avoids (again) the C++ pitfall of pushing a reference to
sth being reallocated.
2021-04-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/99947
* tree-vect-loop.c (vectorizable_induction): Pre-allocate
steps vector to avoid pushing elements from the reallocated
vector.
* gcc.dg/torture/pr99947.c: New testcase.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
` (4 preceding siblings ...)
2021-04-07 8:51 ` cvs-commit at gcc dot gnu.org
@ 2021-04-07 8:52 ` rguenth at gcc dot gnu.org
2021-04-07 9:20 ` haoxintu at gmail dot com
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-07 8:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
` (5 preceding siblings ...)
2021-04-07 8:52 ` rguenth at gcc dot gnu.org
@ 2021-04-07 9:20 ` haoxintu at gmail dot com
6 siblings, 0 replies; 8+ messages in thread
From: haoxintu at gmail dot com @ 2021-04-07 9:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99947
--- Comment #7 from Haoxin Tu <haoxintu at gmail dot com> ---
Thank you all for your quick response and fixing!
Cheers,
Haoxin
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-04-07 9:20 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-07 2:11 [Bug tree-optimization/99947] New: [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" haoxintu at gmail dot com
2021-04-07 6:11 ` [Bug tree-optimization/99947] [11 Regression] ICE Segmentation fault "during GIMPLE pass: vect" since r11-4714-g092cdbd919849759 marxin at gcc dot gnu.org
2021-04-07 7:37 ` rguenth at gcc dot gnu.org
2021-04-07 7:40 ` marxin at gcc dot gnu.org
2021-04-07 7:54 ` rguenth at gcc dot gnu.org
2021-04-07 8:51 ` cvs-commit at gcc dot gnu.org
2021-04-07 8:52 ` rguenth at gcc dot gnu.org
2021-04-07 9:20 ` haoxintu at gmail dot com
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).