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); }