In C code, if a loop is not a natural loop, that means its loop body should at least have one label, right? In that case, some BB out of the loop can jump to the loop body, so the loop has more than on entry. <div><br></div>
<div>Does LoopInfo guarantee to identify all natural loops? This property is very important for my pass.</div><div><br></div><div>regards,</div><div>Bo<br><br><div class="gmail_quote">On Fri, Apr 29, 2011 at 11:50 PM, Cameron Zwarich <span dir="ltr"><<a href="mailto:zwarich@apple.com">zwarich@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#FFFFFF"><div>A natural loop is one whose header dominates all of the nodes in the loop. There is probably some block outside of the loop jumping to a block in the loop body.<br>
<br>Cameron</div><div><div></div><div class="h5"><div><br>On Apr 29, 2011, at 7:43 PM, Bo Wu <<a href="mailto:bwu@cs.wm.edu" target="_blank">bwu@cs.wm.edu</a>> wrote:<br><br></div><div></div><blockquote type="cite">
<div>Hi,<div><br></div><div>I found that some loops can not be identified by LoopInfo pass. For example, the loop at line 3094 of rdopt.c of benchmark 464.h264ref from spec cpu2006 is not a loop or a child (pr grandchild) of any loop in the loop list generated by LoopInfo pass. The documentation of LoopInfo says that it identifies natural loops, who have exactly one entry point. But the IR of this loops shows that it's header only has one BB in preds. Does that mean LoopInfo can not identify some natural loops?</div>

<div><br></div><div>Thanks,</div><div>Bo <br clear="all"><br>-- <br>Bo Wu<br><br>Ph.D. student<br>CAPS group<br>Computer Science Department<br>The College of William & Mary<br><a href="http://www.cs.wm.edu/~bwu" target="_blank"></a><a href="http://www.cs.wm.edu/~bwu" target="_blank">www.cs.wm.edu/~bwu</a><br>

<br><br>
</div>
</div></blockquote></div></div><blockquote type="cite"><div><span>_______________________________________________</span><br><span>LLVM Developers mailing list</span><br><span><a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank"></a><a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a></span><br>
<span><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></span><br></div></blockquote></div>
</blockquote></div><br><br clear="all"><br>-- <br>Bo Wu<br><br>Ph.D. student<br>CAPS group<br>Computer Science Department<br>The College of William & Mary<br><a href="http://www.cs.wm.edu/~bwu" target="_blank">www.cs.wm.edu/~bwu</a><br>
<br><br>
</div>