This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug sanitizer/81505] New: [5/6/7/8 Regression] ICE in tree-ssa-loop-manip.c:95 with -fsanitize=signed-integer-overflow
- From: "marxin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 21 Jul 2017 07:48:50 +0000
- Subject: [Bug sanitizer/81505] New: [5/6/7/8 Regression] ICE in tree-ssa-loop-manip.c:95 with -fsanitize=signed-integer-overflow
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81505
Bug ID: 81505
Summary: [5/6/7/8 Regression] ICE in tree-ssa-loop-manip.c:95
with -fsanitize=signed-integer-overflow
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org,
marxin at gcc dot gnu.org, mpolacek at gcc dot gnu.org
Target Milestone: ---
Starting from Marek's commit r218621, we ICE on:
$ gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/torture/pr52298.c
-fsanitize=signed-integer-overflow -O3 -c
during GIMPLE pass: vect
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/torture/pr52298.c: In
function ‘fn1’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/torture/pr52298.c:8:1:
internal compiler error: tree check: expected integer_cst, have negate_expr in
get_len, at tree.h:5351
fn1 ()
^~~
0x10e3467 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/tree.c:9848
0x762eda tree_check(tree_node const*, char const*, int, char const*, tree_code)
../../gcc/tree.h:3339
0x762eda wi::extended_tree<192>::get_len() const
../../gcc/tree.h:5351
0x762eda wi::int_traits<generic_wide_int<wi::extended_tree<192> >
>::decompose(long*, unsigned int, generic_wide_int<wi::extended_tree<192> >
const&)
../../gcc/wide-int.h:929
0x762eda
wide_int_ref_storage<true>::wide_int_ref_storage<generic_wide_int<wi::extended_tree<192>
> >(generic_wide_int<wi::extended_tree<192> > const&, unsigned int)
../../gcc/wide-int.h:976
0x762eda generic_wide_int<wide_int_ref_storage<true>
>::generic_wide_int<generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&, unsigned int)
../../gcc/wide-int.h:753
0x762eda bool wi::lts_p<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&,
generic_wide_int<wi::extended_tree<192> > const&)
../../gcc/wide-int.h:1794
0x762eda wi::binary_traits<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >,
wi::int_traits<generic_wide_int<wi::extended_tree<192> > >::precision_type,
wi::int_traits<generic_wide_int<wi::extended_tree<192> >
>::precision_type>::signed_predicate_result operator<
<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&,
generic_wide_int<wi::extended_tree<192> > const&)
../../gcc/wide-int.h:3107
0x762eda tree_int_cst_lt(tree_node const*, tree_node const*)
../../gcc/tree.h:5416
0xf38c1d create_iv(tree_node*, tree_node*, tree_node*, loop*,
gimple_stmt_iterator*, bool, tree_node**, tree_node**)
../../gcc/tree-ssa-loop-manip.c:95
0x175f492 vect_create_data_ref_ptr(gimple*, tree_node*, loop*, tree_node*,
tree_node**, gimple_stmt_iterator*, gimple**, bool, bool*, tree_node*)
../../gcc/tree-vect-data-refs.c:4204
0x1052aa7 vectorizable_load
../../gcc/tree-vect-stmts.c:7360
0x105af69 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*,
_slp_tree*, _slp_instance*)
../../gcc/tree-vect-stmts.c:8645
0x107244c vect_transform_loop(_loop_vec_info*)
../../gcc/tree-vect-loop.c:7544
0x108ce38 vectorize_loops()
../../gcc/tree-vectorizer.c:745
0xf58a71 execute
../../gcc/tree-ssa-loop.c:412
Where my x86_64 tuning is: -mtune=generic -march=x86-64