<div dir="ltr">Sorry, it is my fault to cause the problem, I will take back the mail. FWIW, I like to shared some experiences on this problem.<div style>What to do:</div><div style><div style="font-family:arial,sans-serif;font-size:13px">
 I want to insert a control-block before every outermost loop. My current solution is: 1) find each outermost loop in some function; 2) find the loop header with Loop->getHeader() APIs, and then insert the controller block before the header block of current loop.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style>In the  first, I don't know we can get the outermost loop list from LoopInfo, so, I iterate over the BB of function and usr LI->getLoopFor(BB), to get the Loop object CurLoop, then to do something else...., And I made a mistake in this process.</div>
<div style><br></div><div style>Now, I find we can get Loop object from LoopInfo like the follow example</div><div style>LoopInfo::iterator LIB = LI->begin;   </div><div style><br></div><div style>*LIB points to the outer most loop of the function.  It is done now.</div>
<div style><br></div><div style>Sorry for bothering all of you!</div><div style><br></div><div style><br></div><div style>Eric Lu</div><div style><br></div></div><div style><br></div></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Tue, May 21, 2013 at 3:41 PM, Eric Lu <span dir="ltr"><<a href="mailto:eirc.lew@gmail.com" target="_blank">eirc.lew@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hello,<div>  I want to insert a control-block before every outermost loop. My current solution is: 1) find each outermost loop in some function; 2) find the loop header with Loop->getHeader() APIs, and then insert the controller block before the header block of current loop.</div>

<div><br></div><div>But I encounters problems when there multi subsequent loops in the following example, where there is no code between loops:</div><div><br></div><div>for( i = 0 ; i < N; i++){</div>
<div>   arrayA[i] = i + 1;</div><div>}</div><div><br></div><div><br></div><div><div>for( j = 0 ; j < N; j++){</div><div>   arrayA[j] = j + 1;</div><div>}</div><div><br></div><div><br></div>
<div><div>for( k = 0 ; k < N; k++){</div><div>   arrayC[k] = k + 1;</div><div>}</div></div><div><br></div><div>In this case, these loops have the same header block, so the previous method failed.  And it seems the method of block_begin() returns the same value as getHeader(). </div>

<div>Are there some other methods to implement this ?</div><div><br></div><div>Thanks!</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Eric</div></font></span></div></div>
</blockquote></div><br></div>