DomTreeNodeBase<NodeT> *getRootNode() { return RootNode; }
const DomTreeNodeBase<NodeT> *getRootNode() const { return RootNode; }
- /// Get all nodes dominated by R, including R itself. Return true on success.
+ /// Get all nodes dominated by R, including R itself.
void getDescendants(NodeT *R, SmallVectorImpl<NodeT *> &Result) const {
const DomTreeNodeBase<NodeT> *RN = getNode(R);
SmallVector<const DomTreeNodeBase<NodeT> *, 8> WL;
return DT->getRootNode();
}
- /// Get all nodes dominated by R, including R itself. Return true on success.
+ /// Get all nodes dominated by R, including R itself.
void getDescendants(BasicBlock *R,
SmallVectorImpl<BasicBlock *> &Result) const {
DT->getDescendants(R, Result);
return DT->findNearestCommonDominator(A, B);
}
+ /// Get all nodes post-dominated by R, including R itself.
+ void getDescendants(BasicBlock *R,
+ SmallVectorImpl<BasicBlock *> &Result) const {
+ DT->getDescendants(R, Result);
+ }
+
virtual void releaseMemory() {
DT->releaseMemory();
}