http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53805

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-29 
14:34:08 UTC ---
(In reply to comment #4)
> On Fri, 29 Jun 2012, rguenth at gcc dot gnu.org wrote:
> 
> > We do not try to preserve traps instead we only try to not produce new ones.
> 
> That's a bug.  -ftrapping-math should do both (as regards the set of 
> exceptions raised between function calls or asms that might test them, not 
> necessarily preserving the exact positive number of times an exception is 
> raised).  If that's thought to be a performance issue maybe it should be 
> split into separate options for the two cases.

We happily remove dead trapping statements:

void foo(double x, int y)
{
  1 / x;
  1 / y;
}

Eric recently (for the sake of Java) added fdelete-dead-exceptions (in Ada,
with -fnon-call-exceptions, you are allowed to remove the above statements).

We similarly happily remove dead indirect loads (that might trap).

I think it is preferable that we do all this, we can't always reasonably
prove that a path in the CFG is never reached.

Reply via email to