This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR optimization/9786


> In general, no.  But
>
>     (insn 21 19 87 2 (set (reg:DF 8 st(0) [63])
>             (float_extend:DF (reg:SF 8 st(0)))) 136 {*extendsfdf2_1} (nil)
>         (expr_list:REG_EH_REGION (const_int 1 [0x1])
>             (nil)))
>
> won't ever trap on x86.

Agreed. So we must know that the insn doesn't actually trap to delete it.

> The patch looks ok.

May I backport it to the 3.3 branch too (PR opt/9786 is a regression)?

Mark said in the audit trail of the PR that, if Olivier's patch was accepted, 
the ??? comment would need to be updated. It currently reads as follows:

   ??? We are normally supposed not to delete trapping insns. The insns
   possibly deleted above are known to be no-ops, however, so it seems OK in
   this case. It would have been better to detect this earlier and avoid
   creating the eh edge in the first place, still, but we don't have enough
   information at that time.

What about something like

   ??? We are normally supposed not to delete trapping insns, so we pretend
   that the insns deleted above don't actually trap.  It would have been
   better to detect this earlier and avoid creating the eh edge in the first
   place, still, but we don't have enough information at that time.

-- 
Eric Botcazou


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]