mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
[Analysis][Docs] Parents of loops documentation.
Recently I had to use it and although one assumes it returns null if there's no parent loop, I think it helps to doc it. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D74890
This commit is contained in:
parent
b42305045e
commit
e0907c5816
@ -43,6 +43,9 @@ Note that there are some important implications of this definition:
|
|||||||
* Any two loops are either fully disjoint (no intersecting blocks), or
|
* Any two loops are either fully disjoint (no intersecting blocks), or
|
||||||
one must be a sub-loop of the other.
|
one must be a sub-loop of the other.
|
||||||
|
|
||||||
|
* Loops in a function form a forest. One implication of this fact
|
||||||
|
is that a loop either has no parent or a single parent.
|
||||||
|
|
||||||
A loop may have an arbitrary number of exits, both explicit (via
|
A loop may have an arbitrary number of exits, both explicit (via
|
||||||
control flow) and implicit (via throwing calls which transfer control
|
control flow) and implicit (via throwing calls which transfer control
|
||||||
out of the containing function). There is no special requirement on
|
out of the containing function). There is no special requirement on
|
||||||
|
@ -103,6 +103,14 @@ public:
|
|||||||
return D;
|
return D;
|
||||||
}
|
}
|
||||||
BlockT *getHeader() const { return getBlocks().front(); }
|
BlockT *getHeader() const { return getBlocks().front(); }
|
||||||
|
/// Return the parent loop if it exists or nullptr for top
|
||||||
|
/// level loops.
|
||||||
|
|
||||||
|
/// A loop is either top-level in a function (that is, it is not
|
||||||
|
/// contained in any other loop) or it is entirely enclosed in
|
||||||
|
/// some other loop.
|
||||||
|
/// If a loop is top-level, it has no parent, otherwise its
|
||||||
|
/// parent is the innermost loop in which it is enclosed.
|
||||||
LoopT *getParentLoop() const { return ParentLoop; }
|
LoopT *getParentLoop() const { return ParentLoop; }
|
||||||
|
|
||||||
/// This is a raw interface for bypassing addChildLoop.
|
/// This is a raw interface for bypassing addChildLoop.
|
||||||
|
Loading…
Reference in New Issue
Block a user