[Bug tree-optimization/86741] New: [9 Regression] ICE in vrp_prop::check_mem_ref building glibc for i686-gnu
jsm28 at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 30 15:18:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86741
Bug ID: 86741
Summary: [9 Regression] ICE in vrp_prop::check_mem_ref building
glibc for i686-gnu
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: jsm28 at gcc dot gnu.org
CC: msebor at gcc dot gnu.org
Target Milestone: ---
Created attachment 44468
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44468&action=edit
Preprocessed source from building glibc
The following ICE was introduced by r262893.
r262893 | msebor | 2018-07-19 23:36:34 +0000 (Thu, 19 Jul 2018) | 20 lines
PR tree-optimization/84047
PR tree-optimization/83776
* tree-vrp.c (vrp_prop::check_mem_ref): New function.
(check_array_bounds): Call it.
It appears building glibc for i686-gnu, but can also be reproduced using the
same .i file with an x86_64-linux-gnu compiler with -m32.
Compile the attached .i file (for i686-gnu / i686-pc-linux-gnu /
x86_64-linux-gnu -m32) with -O2 -Warray-bounds (or -O2 -Wall).
during GIMPLE pass: vrp
../sysdeps/mach/hurd/i386/init-first.c: In function 'init1':
../sysdeps/mach/hurd/i386/init-first.c:97:1: internal compiler error:
Segmentation fault
0xc11d2f crash_signal
/scratch/jmyers/glibc/many9/src/gcc/gcc/toplev.c:325
0x77c1b7 contains_struct_check(tree_node const*, tree_node_structure_enum, char
const*, int, char const*)
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree.h:3483
0x77c1b7 wi::extended_tree<128>::extended_tree(tree_node const*)
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree.h:5535
0xed25aa generic_wide_int<wi::extended_tree<128> >::generic_wide_int<tree_node
const*>(tree_node const* const&)
/scratch/jmyers/glibc/many9/src/gcc/gcc/wide-int.h:780
0xed25aa wi::to_offset(tree_node const*)
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree.h:5487
0xed25aa vrp_prop::check_mem_ref(unsigned int, tree_node*, bool)
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree-vrp.c:5097
0xed3281 check_array_bounds
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree-vrp.c:5267
0xf00932 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree.c:11485
0xf00ea6 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree.c:11803
0x95dfe0 walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
/scratch/jmyers/glibc/many9/src/gcc/gcc/gimple-walk.c:203
0xebbedc check_array_bounds_dom_walker::before_dom_children(basic_block_def*)
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree-vrp.c:5320
0x138b77a dom_walker::walk(basic_block_def*)
/scratch/jmyers/glibc/many9/src/gcc/gcc/domwalk.c:353
0xec04bc vrp_prop::check_all_array_refs()
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree-vrp.c:5337
0xec2f59 vrp_prop::vrp_finalize(bool)
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree-vrp.c:7113
0xed3c71 execute_vrp
/scratch/jmyers/glibc/many9/src/gcc/gcc/tree-vrp.c:7186
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.
More information about the Gcc-bugs
mailing list