Lines Matching refs:SCCs

334   assert(!SCCs.empty() && "Can't have an empty SCC!");  in verify()
338 for (SCC *C : SCCs) { in verify()
354 assert(SCCs[I] == C && "Index doesn't point to SCC!"); in verify()
358 for (int I = 0, Size = SCCs.size(); I < Size; ++I) { in verify()
359 SCC &SourceSCC = *SCCs[I]; in verify()
376 for (SCC *C : SCCs) { in verify()
509 SCCT &SourceSCC, SCCT &TargetSCC, PostorderSequenceT &SCCs, in updatePostorderSequenceForEdgeInsertion() argument
526 SCCs.begin() + SourceIdx, SCCs.begin() + TargetIdx + 1, in updatePostorderSequenceForEdgeInsertion()
529 SCCIndices.find(SCCs[I])->second = I; in updatePostorderSequenceForEdgeInsertion()
534 assert(SourceI > (SCCs.begin() + SourceIdx) && in updatePostorderSequenceForEdgeInsertion()
544 assert(SCCs[TargetIdx] == &TargetSCC && in updatePostorderSequenceForEdgeInsertion()
546 SourceIdx = SourceI - SCCs.begin(); in updatePostorderSequenceForEdgeInsertion()
547 assert(SCCs[SourceIdx] == &SourceSCC && in updatePostorderSequenceForEdgeInsertion()
560 SCCs.begin() + SourceIdx + 1, SCCs.begin() + TargetIdx + 1, in updatePostorderSequenceForEdgeInsertion()
563 SCCIndices.find(SCCs[I])->second = I; in updatePostorderSequenceForEdgeInsertion()
564 TargetIdx = std::prev(TargetI) - SCCs.begin(); in updatePostorderSequenceForEdgeInsertion()
565 assert(SCCs[TargetIdx] == &TargetSCC && in updatePostorderSequenceForEdgeInsertion()
573 return make_range(SCCs.begin() + SourceIdx, SCCs.begin() + TargetIdx); in updatePostorderSequenceForEdgeInsertion()
628 make_range(SCCs.begin() + SourceIdx + 1, SCCs.begin() + TargetIdx + 1)) in switchInternalEdgeToCall()
671 SourceSCC, TargetSCC, SCCs, SCCIndices, ComputeSourceConnectedSet, in switchInternalEdgeToCall()
712 auto EraseEnd = SCCs.erase(MergeRange.begin(), MergeRange.end()); in switchInternalEdgeToCall()
713 for (SCC *C : make_range(EraseEnd, SCCs.end())) in switchInternalEdgeToCall()
911 SCCs.insert(SCCs.begin() + OldIdx, NewSCCs.begin(), NewSCCs.end()); in switchInternalEdgeToRef()
915 for (int Idx = OldIdx, Size = SCCs.size(); Idx < Size; ++Idx) in switchInternalEdgeToRef()
916 SCCIndices[SCCs[Idx]] = Idx; in switchInternalEdgeToRef()
918 return make_range(SCCs.begin() + OldIdx, in switchInternalEdgeToRef()
919 SCCs.begin() + OldIdx + NewSCCs.size()); in switchInternalEdgeToRef()
1104 MergedSCCs = std::move(RC->SCCs); in insertIncomingRefEdge()
1106 MergedSCCs.append(RC->SCCs.begin(), RC->SCCs.end()); in insertIncomingRefEdge()
1107 RC->SCCs.clear(); in insertIncomingRefEdge()
1114 MergedSCCs.append(SCCs.begin(), SCCs.end()); in insertIncomingRefEdge()
1115 SCCs = std::move(MergedSCCs); in insertIncomingRefEdge()
1207 for (SCC *C : SCCs) { in removeInternalRefEdge()
1355 for (SCC *C : SCCs) { in removeInternalRefEdge()
1367 int SCCIndex = RC.SCCs.size(); in removeInternalRefEdge()
1368 RC.SCCs.push_back(C); in removeInternalRefEdge()
1376 SCCs.clear(); in removeInternalRefEdge()
1660 NewRC->SCCs.insert(NewRC->SCCs.begin() + InsertIndex, NewC); in addSplitFunction()
1661 for (int I = InsertIndex, Size = NewRC->SCCs.size(); I < Size; ++I) in addSplitFunction()
1662 NewRC->SCCIndices[NewRC->SCCs[I]] = I; in addSplitFunction()
1676 NewRC->SCCs.push_back(NewC); in addSplitFunction()
1752 NewRC->SCCs.push_back(NewC); in addSplitRefRecursiveFunctions()
1889 assert(RC.SCCs.empty() && "Already built SCCs!"); in buildSCCs()
1910 RC.SCCs.push_back(createSCC(RC, Nodes)); in buildSCCs()
1911 for (Node &N : *RC.SCCs.back()) { in buildSCCs()
1913 SCCMap[&N] = RC.SCCs.back(); in buildSCCs()
1918 for (int I = 0, Size = RC.SCCs.size(); I < Size; ++I) in buildSCCs()
1919 RC.SCCIndices[RC.SCCs[I]] = I; in buildSCCs()