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

--- Comment #2 from huyubiao <h13958451065 at 163 dot com> ---
(In reply to Richard Biener from comment #1)
> So you say that we fail to optimize
> 
> int foo (unsigned x)
> {
>   unsigned tem = 1/x;
>   if (x == 0)
>     return 5;
>   return tem;
> }
> 
> because we turn 1/x into x == 1?
> 
> A phase ordering issue, obviously.  Relevant in practice?  I'm not sure.

I believe such non-compliant code makes maintenance troubleshooting
significantly harder. Could we implement a compiler warning when x=0
potentially occurs?

Reply via email to