https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105231

--- Comment #8 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Yes, but still the float_extend:XF would have made may_trap_p say
> the insn possibly traps but there's no EH on it despite
> -fnon-call-exceptions.

The REG_EH note is added by make_reg_eh_region_note but then removed by
purge_dead_edges because of the REG_EQUAL note:

  /* If this instruction cannot trap, remove REG_EH_REGION notes.  */
  if (NONJUMP_INSN_P (insn)
      && (note = find_reg_note (insn, REG_EH_REGION, NULL)))
    {
      rtx eqnote;

      if (! may_trap_p (PATTERN (insn))
          || ((eqnote = find_reg_equal_equiv_note (insn))
              && ! may_trap_p (XEXP (eqnote, 0))))
        remove_note (insn, note);
    }

Reply via email to