[tree-ssa] Dce & infinite loops

Steven Bosscher stevenb@suse.de
Thu Mar 18 12:34:00 GMT 2004


On Thursday 18 March 2004 13:21, Zdenek Dvorak wrote:
> Hello,
>
> I may be wrong, but IIRC it is incorrect to remove infinite loops, as
> happens currently for example for the following code:
>
> int main(void)
> {
>   unsigned i;
>
>   for (i = 1; i != 0; i+=2);
>
>   return 0;
> }

Removing an infinte loop is indeed wrong.  Hence this comment
in tree-ssa-dce.c:

  /* Some blocks don't have an immediate post dominator.  This can happen
     for example with infinite loops.  Removing an infinite loop is an
     inappropriate transformation anyway...  */

If we remove that infinite loop, you found a bug.

Gr.
Steven




More information about the Gcc mailing list