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

--- Comment #12 from prathamesh3492 at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #11)
> Look e.g. at -O2:
> void bar (int);
> 
> void
> foo (int x)
> {
>   int i = 0;
>   if (x == 8)
>     {
>       x = 16;
>       goto lab;
>     }
>   for (; i < 100; i++)
>     {
>     lab:
>       bar (x);
>     }
> }
> 
> but pretty much any time you have a loop where some var doesn't really
> change, but there is some other edge to the loop header with a different
> value for that var.

Ah indeed.
Thanks for the explanation!

Reply via email to