https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84826
Bug ID: 84826
Summary: ICE in extract_insn, at recog.c:2304
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: amker at gcc dot gnu.org, kyrylo.tkachov at arm dot com,
ramana at gcc dot gnu.org
Target Milestone: ---
Following ICEs:
$ arm-linux-gnueabi-gcc -Ofast -fstack-clash-protection /tmp/ice.i
/tmp/ice.i:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
a ()
^
/tmp/ice.i: In function ‘bar’:
/tmp/ice.i:4:8: warning: type of ‘c’ defaults to ‘int’ [-Wimplicit-int]
void bar (c)
^~~
/tmp/ice.i: In function ‘a’:
/tmp/ice.i:9:3: warning: implicit declaration of function ‘d’
[-Wimplicit-function-declaration]
d (bar);
^
/tmp/ice.i: In function ‘bar’:
/tmp/ice.i:8:3: error: unrecognizable insn:
}
^
(jump_insn 49 48 50 2 (return) "/tmp/ice.i":8 -1
(nil)
-> return)
during RTL pass: cprop_hardreg
/tmp/ice.i:8:3: internal compiler error: in extract_insn, at recog.c:2304
0x57af55 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
.././../gcc/rtl-error.c:108
0x57af74 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
.././../gcc/rtl-error.c:116
0xaf00a7 extract_insn(rtx_insn*)
.././../gcc/recog.c:2304
0xaf10e8 extract_constrain_insn(rtx_insn*)
.././../gcc/recog.c:2203
0xaf4a07 copyprop_hardreg_forward_1
.././../gcc/regcprop.c:796
0xaf5729 execute
.././../gcc/regcprop.c:1303
$ cat ice.i
cat /tmp/ice.i
a ()
{
int b;
void bar (c)
{
if (__builtin_expect (c, 0))
++b;
}
d (bar);
}