Home | History | Annotate | Download | only in src

Lines Matching refs:LoopNode

51   class LoopNode {
52 LoopNode() = delete;
53 LoopNode operator=(const LoopNode &) = delete;
56 explicit LoopNode(CfgNode *BB) : BB(BB) { reset(); }
57 LoopNode(const LoopNode &) = default;
95 using LoopNodeList = CfgVector<LoopNode>;
96 using LoopNodePtrList = CfgVector<LoopNode *>;
100 LoopNode *processNode(LoopNode &Node);
120 void LoopAnalyzer::LoopNode::reset() {
128 NodeList::const_iterator LoopAnalyzer::LoopNode::successorsEnd() const {
132 void LoopAnalyzer::LoopNode::incrementLoopNestDepth() {
136 bool LoopAnalyzer::LoopNode::hasSelfEdge() const {
166 for (LoopNode &Node : AllNodes)
172 for (LoopNode &Node : AllNodes) {
179 LoopNode &WorkNode = *WorkStack.back();
180 if (LoopNode *Succ = processNode(WorkNode))
189 LoopAnalyzer::LoopNode *
190 LoopAnalyzer::processNode(LoopAnalyzer::LoopNode &Node) {
199 LoopNode &Succ = AllNodes[(*Node.currentSuccessor())->getIndex()];
209 LoopNode &Succ = AllNodes[(*Node.currentSuccessor())->getIndex()];