<div class="gmail_quote"><div>hi,</div><div><br></div><div>thank you for the response, we managed to get all the loops in a given function using this:</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word"><div><div><div></div></div></div><div>you can use <font face="Monaco" style="font-size:11px">if (L->getHeader()->getParent()->getNames() == "special_function") </font>check, which will work for all loops.</div>

<div><br></div></div>
</blockquote></div><br>
<div>As part of the transformation we need to get information about the loops, and we are using the LoopInfo pass:</div><div><br></div><div>LI = &getAnalysis<LoopInfo>();</div><div><br></div><div>to get information such as the depth of the loop. We are also manipulating the IV in some instances e.g. changing the step from say 1 to 2, and we have implemented this by iterating through all the instructions in a BB. It seems that the best approach to do this would be to use the ScalarEvolution, which we have added to our pass:</div>

<div><br></div><div>SE = getAnalysisIfAvailable<ScalarEvolution>();</div><div><br></div><div>We been going through the LoopStrengthReduce pass but are unable to implement this correctly, and to re-write the IR for these cases. Any pointers on how to do this are appreciated. </div>
<div><br></div><div>Regards,</div><div><br></div><div>tatenda</div>