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

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-29 
12:22:10 UTC ---
(In reply to comment #2)
> (In reply to comment #1)
> > We do not try to preserve traps instead we only try to not produce new ones.
> 
> That would make a lot of sense, and assuming it is the official policy I am
> happy to learn that, but then why don't we optimize this testcase:
> 
> int f(double a,double b){
>   if(a>=b) if(a<=b) return 1;
>   return 0;
> }
> 
> to
>   if(a==b) return 1;
> ?

Good question.  I suppose that's a missed optimization then.

> The test in combine_comparisons seems to deliberately check for any change of
> the trapping condition, not just false->true.
> 
> I am happy to relabel this bug (or file a new one if you prefer) as a missed
> optimization.

I'd say open a new one.

Reply via email to