After r147995, gcc.c-torture/compile/20080903-1.c fails for -O3 -g on SH with
20080903-1.c:12: internal compiler error: in dwarf2out_begin_epilogue, at dwarf2out.c:2689 In failing case, sched2 moves a frame related insn in prologue after NOTE_INSN_EPILOGUE_BEG note: (note 42 6 43 2 NOTE_INSN_EPILOGUE_BEG) (insn:TI 43 42 35 2 20080903-1.c:12 (set (reg:SI 7 r7) (const_int 4096 [0x1000])) 175 {movsi_ie} (nil)) (insn/f 35 43 36 2 20080903-1.c:5 (set (reg/f:SI 14 r14) (reg/f:SI 15 r15)) 175 {movsi_ie} (nil)) I'm testing a patch which emits a blockage insn before insn 35 when dwarf2out_do_frame returns true. We already do so when exception handling is enabled. It will change the code with -g. This isn't good in general but wouldn't be a real problem in the above situation because if such movement of the frame insn happened, then no one can expect -g works well in the first place. -- Summary: SH: ICE in dwarf2out_begin_epilogue, at dwarf2out.c:2689 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kkojima at gcc dot gnu dot org GCC target triplet: sh-unkonwn-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40313