[llvm] r258154 - Add clarifying comments defining what a Loop is

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 21 09:36:30 PST 2016



On 01/20/2016 03:45 PM, Sean Silva wrote:
>
>
> On Tue, Jan 19, 2016 at 10:26 AM, Philip Reames via llvm-commits 
> <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
>
>     Author: reames
>     Date: Tue Jan 19 12:26:01 2016
>     New Revision: 258154
>
>     URL: http://llvm.org/viewvc/llvm-project?rev=258154&view=rev
>     Log:
>     Add clarifying comments defining what a Loop is
>
>     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.
>
>     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.
>
>
>     Modified:
>         llvm/trunk/include/llvm/Analysis/LoopInfo.h
>
>     Modified: llvm/trunk/include/llvm/Analysis/LoopInfo.h
>     URL:
>     http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopInfo.h?rev=258154&r1=258153&r2=258154&view=diff
>     ==============================================================================
>     --- llvm/trunk/include/llvm/Analysis/LoopInfo.h (original)
>     +++ llvm/trunk/include/llvm/Analysis/LoopInfo.h Tue Jan 19
>     12:26:01 2016
>     @@ -25,6 +25,12 @@
>      //  * the loop depth
>      //  * etc...
>      //
>     +// Note that this analysis specifically identifies *Loops* not
>     cycles or SCCs
>     +// in the CFG.  There can be strongly connected compontents in
>     the CFG which
>     +// this analysis will not recognize and that will not be
>     represented by a Loop
>     +// instance.  In particular, a Loop might be inside such a
>     non-loop SCC, or a
>     +// non-loop SCC might contain a sub-SCC which is a Loop.
>     +//
>      //===----------------------------------------------------------------------===//
>
>      #ifndef LLVM_ANALYSIS_LOOPINFO_H
>     @@ -346,6 +352,9 @@ raw_ostream& operator<<(raw_ostream &OS,
>      // Implementation in LoopInfoImpl.h
>      extern template class LoopBase<BasicBlock, Loop>;
>
>     +
>     +/// Represents a single loop in the control flow graph. Not that
>     not all SCCs
>     +/// in the CFG are neccessarily loops.
>
>
> 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.
Yep, that was a typo.  Thanks for pointing it out, fixed in 258410
>
> -- Sean Silva
>
>      class Loop : public LoopBase<BasicBlock, Loop> {
>      public:
>        Loop() {}
>
>
>     _______________________________________________
>     llvm-commits mailing list
>     llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160121/38ffeff5/attachment.html>


More information about the llvm-commits mailing list