All:

While/For ( condition1)
{
   Some code here.
  If(condition2 )
    continue;
  Some code here.
}

Fig(1)

For the above loop in Fig(1)  there will be two backedges and multiple latches. 
 The below code can be transformed to the below in order to 
have a single backedge.

While/For (condition1)
{
   Some code here.
   If( condition2)
     Goto latch;
  Some code here.

Latch:
}

Fig(2).

With the transformation shown in Fig(2) the presence of GoTo inside loops  
affect and disables many  optimizations. To enable
the loops in Fig(1) can also be transformed to multiple loops with each 
backedge that will make the affected optimizations enabled 
and the transformed Multiple loops will  enable many optimizations that are 
disabled with the presence of GoTo in Fig(2) and multiple
latches given in Fig(1).

Thoughts?

Thanks & Regards
Ajit

Reply via email to