This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/61141] [4.10 Regression] c-common.c:1502:1: ICE: in reset_insn_used_flags, at emit-rtl.c:2677
- From: "danglin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 11 May 2014 21:24:38 +0000
- Subject: [Bug middle-end/61141] [4.10 Regression] c-common.c:1502:1: ICE: in reset_insn_used_flags, at emit-rtl.c:2677
- Auto-submitted: auto-generated
- References: <bug-61141-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61141
--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> ---
On hppa64-hp-hpux11.11, a similar error occurs. It is easier to debug:
Breakpoint 1, reset_insn_used_flags (insn=0x800003fffdcb8630)
at ../../gcc/gcc/emit-rtl.c:2677
2677 gcc_assert (INSN_P (insn));
(gdb) p debug_rtx(insn)
(note:TI 238 239 302 NOTE_INSN_DELETED)
In libgcc2.c.245r.dwarf2, we have:
(insn 325 220 304 (sequence [
(call_insn:TI 236 220 86 (parallel [
(set (reg:TF 28 %r28)
(call (mem:SI (symbol_ref/v:DI ("@_U_Qfmpy") [flags
0x41]) [0 S4 A32])
(const_int 64 [0x40])))
(clobber (reg:DI 1 %r1))
(clobber (reg:DI 2 %r2))
(use (reg:DI 27 %r27))
(use (reg/f:DI 29 %r29 [orig:28+8 ] [28]))
(use (const_int 0 [0]))
]) ../../../gcc/libgcc/libgcc2.c:1848 262
{*call_val_symref_64bit_post_reload}
(expr_list:REG_DEAD (reg:DI 27 %r27)
(expr_list:REG_DEAD (reg:DI 26 %r26)
(expr_list:REG_DEAD (reg:DI 25 %r25)
(expr_list:REG_DEAD (reg:DI 24 %r24)
(expr_list:REG_DEAD (reg:DI 23 %r23)
(nil))))))
(expr_list (use (reg:DI 23 %r23))
(expr_list (use (reg:DI 24 %r24))
(expr_list (use (reg:DI 25 %r25))
(expr_list (use (reg:DI 26 %r26))
(nil))))))
(insn:TI 86 236 304 (set (reg:DI 24 %r24)
(reg:DI 6 %r6 [orig:122 x ] [122])) 121 {*pa.md:4180}
(nil))
]) ../../../gcc/libgcc/libgcc2.c:1848 -1
(nil))
(note 304 325 278 (nil) NOTE_INSN_CALL_ARG_LOCATION)
(insn:TI 278 304 305 (set (reg:SI 5 %r5 [102])
(lshiftrt:SI (reg:SI 3 %r3 [orig:68 n ] [68])
(const_int 1 [0x1]))) ../../../gcc/libgcc/libgcc2.c:1844 237
{lshrsi3}
(expr_list:REG_DEAD (reg:SI 3 %r3 [orig:68 n ] [68])
(nil)))
(note 305 278 237 (var_location n (nil)) NOTE_INSN_VAR_LOCATION)
(insn 237 305 101 (set (reg:DI 27 %r27)
(reg:DI 4 %r4)) ../../../gcc/libgcc/libgcc2.c:1848 121 {*pa.md:4180}
(expr_list:REG_DEAD (reg:DI 4 %r4)
(nil)))
In libgcc2.c.246r.final, all that is output is:
deleting insn with uid = 238.
deleting insn with uid = 86.
deleting insn with uid = 147.
Deleting insn 238 would seem to be OK as it's the last restore of the PIC
register in the function.