https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70964
Bug ID: 70964
Summary: [7 Regression] internal compiler error: in
single_succ_edge, at basic-block.h:351
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
The testcase:
int a, c, d, e, f;
int b[0];
void
fn1 ()
{
int g;
long h;
for (;;)
{
g = a < 0 ?: g;
long i = d = i < 0 && g < i ?: g + i;
f = 6;
for (; f; f--)
{
h = 6;
for (; h; h--)
{
int j;
long *k;
d || j && (*k = c);
b[f] = e;
}
}
}
}
ICEs on aarch64-none-linux-gnu compiled with -Ofast.
mycrash.c: In function ‘fn1’:
mycrash.c:4:1: internal compiler error: in single_succ_edge, at
basic-block.h:351
fn1 ()
^~~
0x6fdf23 single_succ_edge
$SRC/gcc/basic-block.h:351
0x6fdf23 lv_adjust_loop_entry_edge
$SRC/gcc/cfgloopmanip.c:1658
0x6fdf23 loop_version(loop*, void*, basic_block_def**, unsigned int, unsigned
int, unsigned int, bool)
$SRC/gcc/cfgloopmanip.c:1726
0xb494ff version_loop_for_if_conversion
$SRC/gcc/tree-if-conv.c:2333
0xb494ff tree_if_conversion
$SRC/gcc/tree-if-conv.c:2735
0xb494ff execute
$SRC/gcc/tree-if-conv.c:2829
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
Bisection shows this started with r235842.