Seen as an ia64 bootstrap failure as of 20050828 in libjava/java/lang/reflect/natMethod.cc, though the problem could affect any target.
The observed problem is that reload chooses a reg/reg alternative for reloading a memory (for unknown reasons). This causes the insn stream to be changed from (set (reg 1) (mem)) // REG_EH_REGION 1 to (set (reg 2) (addr)) (set (reg 1) (mem)) (set (reg 1) (reg 1)) // REG_EH_REGION 1 so that the insn that actually traps no longer contains the REG_EH_REGION note. I figure the note ought to get distributed during emit_reload_insns. -- Summary: reload may drop non-call exception information Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: wrong-code, ice-on-valid-code Severity: normal Priority: P2 Component: rtl-optimization AssignedTo: rth at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23601