<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<br>
<br>
<div class="moz-cite-prefix">On 01/20/2016 03:45 PM, Sean Silva
wrote:<br>
</div>
<blockquote
cite="mid:CAHnXoa=iWXz3mUsbJ5iafVhX1TZiPYoCenfCM+0=6YH+Jo0JEQ@mail.gmail.com"
type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Jan 19, 2016 at 10:26 AM,
Philip Reames via llvm-commits <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:llvm-commits@lists.llvm.org"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a></a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Author:
reames<br>
Date: Tue Jan 19 12:26:01 2016<br>
New Revision: 258154<br>
<br>
URL: <a moz-do-not-send="true"
href="http://llvm.org/viewvc/llvm-project?rev=258154&view=rev"
rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=258154&view=rev</a><br>
Log:<br>
Add clarifying comments defining what a Loop is<br>
<br>
Our loop construct is not a way to identify cycles in the
CFG. This wasn't immediately obvious from the header, so
clarify that fact.<br>
<br>
The motivation for this was that I just fixed a out of
tree bug due to a mistaken assumption (on my part) on what
a Loop actually was. While it was fresh in my mind, I
wanted to document the key point.<br>
<br>
<br>
Modified:<br>
llvm/trunk/include/llvm/Analysis/LoopInfo.h<br>
<br>
Modified: llvm/trunk/include/llvm/Analysis/LoopInfo.h<br>
URL: <a moz-do-not-send="true"
href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopInfo.h?rev=258154&r1=258153&r2=258154&view=diff"
rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopInfo.h?rev=258154&r1=258153&r2=258154&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/Analysis/LoopInfo.h (original)<br>
+++ llvm/trunk/include/llvm/Analysis/LoopInfo.h Tue Jan 19
12:26:01 2016<br>
@@ -25,6 +25,12 @@<br>
// * the loop depth<br>
// * etc...<br>
//<br>
+// Note that this analysis specifically identifies
*Loops* not cycles or SCCs<br>
+// in the CFG. There can be strongly connected
compontents in the CFG which<br>
+// this analysis will not recognize and that will not be
represented by a Loop<br>
+// instance. In particular, a Loop might be inside such
a non-loop SCC, or a<br>
+// non-loop SCC might contain a sub-SCC which is a Loop.<br>
+//<br>
//===----------------------------------------------------------------------===//<br>
<br>
#ifndef LLVM_ANALYSIS_LOOPINFO_H<br>
@@ -346,6 +352,9 @@ raw_ostream&
operator<<(raw_ostream &OS,<br>
// Implementation in LoopInfoImpl.h<br>
extern template class LoopBase<BasicBlock, Loop>;<br>
<br>
+<br>
+/// Represents a single loop in the control flow graph.
Not that not all SCCs<br>
+/// in the CFG are neccessarily loops.<br>
</blockquote>
<div><br>
</div>
<div>Did you intend to write "Note that"? "Not" actually
results in the same overall meaning I think (although a
non-native speaker might find it harder to understand),
but it seems like "Note" was intended.</div>
</div>
</div>
</div>
</blockquote>
Yep, that was a typo. Thanks for pointing it out, fixed in 258410<br>
<blockquote
cite="mid:CAHnXoa=iWXz3mUsbJ5iafVhX1TZiPYoCenfCM+0=6YH+Jo0JEQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>-- Sean Silva</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
class Loop : public LoopBase<BasicBlock, Loop> {<br>
public:<br>
Loop() {}<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a moz-do-not-send="true"
href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits"
rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>