Lines Matching refs:RC
201 LazyCallGraph::RefSCC *RC = RCWorklist.pop_back_val(); in run() local
202 if (InvalidRefSCCSet.count(RC)) { in run()
210 LLVM_DEBUG(dbgs() << "Running an SCC pass across the RefSCC: " << *RC in run()
221 for (LazyCallGraph::SCC &C : llvm::reverse(*RC)) in run()
238 if (&C->getOuterRefSCC() != RC) { in run()
272 assert(&C->getOuterRefSCC() == RC && in run()
298 RC = UR.UpdatedRC ? UR.UpdatedRC : RC; in run()
630 for (auto &RC : G->postorder_ref_sccs()) in invalidate() local
631 for (auto &C : RC) { in invalidate()
902 RefSCC *RC = &InitialRC; in updateCGAndAnalysisManagerForPass() local
983 assert((RC == &TargetRC || in updateCGAndAnalysisManagerForPass()
984 RC->isAncestorOf(TargetRC)) && "New ref edge is not trivial!"); in updateCGAndAnalysisManagerForPass()
986 RC->insertTrivialRefEdge(N, *RefTarget); in updateCGAndAnalysisManagerForPass()
996 assert((RC == &TargetRC || in updateCGAndAnalysisManagerForPass()
997 RC->isAncestorOf(TargetRC)) && "New call edge is not trivial!"); in updateCGAndAnalysisManagerForPass()
1001 RC->insertTrivialRefEdge(N, *CallTarget); in updateCGAndAnalysisManagerForPass()
1021 if (&TargetRC == RC && E.isCall()) { in updateCGAndAnalysisManagerForPass()
1024 RC->switchTrivialInternalEdgeToRef(N, E.getNode()); in updateCGAndAnalysisManagerForPass()
1027 C = incorporateNewSCCRange(RC->switchInternalEdgeToRef(N, E.getNode()), in updateCGAndAnalysisManagerForPass()
1042 if (&TargetRC == RC) in updateCGAndAnalysisManagerForPass()
1047 RC->removeOutgoingEdge(N, *TargetN); in updateCGAndAnalysisManagerForPass()
1052 auto NewRefSCCs = RC->removeInternalRefEdge(N, DeadTargets); in updateCGAndAnalysisManagerForPass()
1055 UR.InvalidatedRefSCCs.insert(RC); in updateCGAndAnalysisManagerForPass()
1064 RC = &C->getOuterRefSCC(); in updateCGAndAnalysisManagerForPass()
1065 assert(G.lookupRefSCC(N) == RC && "Failed to update current RefSCC!"); in updateCGAndAnalysisManagerForPass()
1070 assert(NewRefSCCs.front() == RC && in updateCGAndAnalysisManagerForPass()
1073 assert(NewRC != RC && "Should not encounter the current RefSCC further " in updateCGAndAnalysisManagerForPass()
1090 if (&TargetRC != RC) { in updateCGAndAnalysisManagerForPass()
1092 assert(RC->isAncestorOf(TargetRC) && in updateCGAndAnalysisManagerForPass()
1095 RC->switchOutgoingEdgeToRef(N, *RefTarget); in updateCGAndAnalysisManagerForPass()
1105 RC->switchTrivialInternalEdgeToRef(N, *RefTarget); in updateCGAndAnalysisManagerForPass()
1110 C = incorporateNewSCCRange(RC->switchInternalEdgeToRef(N, *RefTarget), G, N, in updateCGAndAnalysisManagerForPass()
1126 if (&TargetRC != RC) { in updateCGAndAnalysisManagerForPass()
1128 assert(RC->isAncestorOf(TargetRC) && in updateCGAndAnalysisManagerForPass()
1131 RC->switchOutgoingEdgeToCall(N, *CallTarget); in updateCGAndAnalysisManagerForPass()
1144 auto InitialSCCIndex = RC->find(*C) - RC->begin(); in updateCGAndAnalysisManagerForPass()
1145 bool FormedCycle = RC->switchInternalEdgeToCall( in updateCGAndAnalysisManagerForPass()
1185 auto NewSCCIndex = RC->find(*C) - RC->begin(); in updateCGAndAnalysisManagerForPass()
1203 for (SCC &MovedC : llvm::reverse(make_range(RC->begin() + InitialSCCIndex, in updateCGAndAnalysisManagerForPass()
1204 RC->begin() + NewSCCIndex))) { in updateCGAndAnalysisManagerForPass()
1213 assert(!UR.InvalidatedRefSCCs.count(RC) && "Invalidated the current RefSCC!"); in updateCGAndAnalysisManagerForPass()
1214 assert(&C->getOuterRefSCC() == RC && "Current SCC not in current RefSCC!"); in updateCGAndAnalysisManagerForPass()
1218 if (RC != &InitialRC) in updateCGAndAnalysisManagerForPass()
1219 UR.UpdatedRC = RC; in updateCGAndAnalysisManagerForPass()