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

Reply via email to