Lines Matching defs:RC

475   LazyCallGraph::RefSCC &RC = *I++;
479 auto J = RC.begin();
520 EXPECT_EQ(RC.end(), J);
560 LazyCallGraph::RefSCC &RC = *I++;
568 EXPECT_EQ(&RC, CG.lookupRefSCC(N1));
569 EXPECT_EQ(&RC, CG.lookupRefSCC(N2));
570 EXPECT_EQ(&RC, CG.lookupRefSCC(N3));
571 EXPECT_EQ(&RC, CG.lookupRefSCC(N4));
572 EXPECT_EQ(&RC, CG.lookupRefSCC(N5));
574 ASSERT_EQ(1, RC.size());
576 LazyCallGraph::SCC &C = *RC.begin();
610 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
611 dbgs() << "Formed RefSCC: " << RC << "\n";
756 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
757 dbgs() << "Formed RefSCC: " << RC << "\n";
848 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
849 dbgs() << "Formed RefSCC: " << RC << "\n";
955 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
956 dbgs() << "Formed RefSCC: " << RC << "\n";
1032 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
1033 dbgs() << "Formed RefSCC: " << RC << "\n";
1094 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
1095 dbgs() << "Formed RefSCC: " << RC << "\n";
1241 LazyCallGraph::RefSCC &RC = *I++;
1247 EXPECT_EQ(&RC, CG.lookupRefSCC(A));
1248 EXPECT_EQ(&RC, CG.lookupRefSCC(B));
1249 EXPECT_EQ(&RC, CG.lookupRefSCC(C));
1250 EXPECT_EQ(1, RC.size());
1251 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(A));
1252 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(B));
1253 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(C));
1256 RC.insertInternalRefEdge(A, C);
1258 EXPECT_EQ(&RC, CG.lookupRefSCC(A));
1259 EXPECT_EQ(&RC, CG.lookupRefSCC(B));
1260 EXPECT_EQ(&RC, CG.lookupRefSCC(C));
1261 EXPECT_EQ(1, RC.size());
1262 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(A));
1263 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(B));
1264 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(C));
1269 auto NewCs = RC.switchInternalEdgeToRef(B, C);
1270 EXPECT_EQ(&RC, CG.lookupRefSCC(A));
1271 EXPECT_EQ(&RC, CG.lookupRefSCC(B));
1272 EXPECT_EQ(&RC, CG.lookupRefSCC(C));
1273 auto J = RC.begin();
1280 EXPECT_EQ(RC.end(), J);
1283 EXPECT_EQ(RC.begin(), NewCs.begin());
1284 EXPECT_EQ(std::prev(RC.end()), NewCs.end());
1292 EXPECT_TRUE(RC.switchInternalEdgeToCall(A, C, [&](ArrayRef<LazyCallGraph::SCC *> MergedCs) {
1299 J = RC.begin();
1302 EXPECT_EQ(RC.end(), J);
1335 LazyCallGraph::RefSCC &RC = *I;
1341 EXPECT_EQ(&RC, CG.lookupRefSCC(A));
1342 EXPECT_EQ(&RC, CG.lookupRefSCC(B));
1343 EXPECT_EQ(&RC, CG.lookupRefSCC(C));
1348 RC.removeInternalRefEdges({{&B, &A}});
1350 EXPECT_EQ(&RC, CG.lookupRefSCC(A));
1351 EXPECT_EQ(&RC, CG.lookupRefSCC(B));
1352 EXPECT_EQ(&RC, CG.lookupRefSCC(C));
1355 EXPECT_EQ(&RC, &*J);
1364 NewRCs = RC.removeInternalRefEdges({{&C, &A}});
1413 LazyCallGraph::RefSCC &RC = *I;
1419 EXPECT_EQ(&RC, CG.lookupRefSCC(A));
1420 EXPECT_EQ(&RC, CG.lookupRefSCC(B));
1421 EXPECT_EQ(&RC, CG.lookupRefSCC(C));
1429 RC.removeInternalRefEdges({{&B, &A}, {&B, &C}});
1480 LazyCallGraph::RefSCC &RC = *I;
1483 LazyCallGraph::SCC &C = *RC.begin();
1484 EXPECT_EQ(RC.end(), std::next(RC.begin()));
1489 EXPECT_EQ(&RC, CG.lookupRefSCC(AN));
1490 EXPECT_EQ(&RC, CG.lookupRefSCC(BN));
1491 EXPECT_EQ(&RC, CG.lookupRefSCC(CN));
1498 RC.removeInternalRefEdges({{&AN, &CN}});
1500 EXPECT_EQ(&RC, CG.lookupRefSCC(AN));
1501 EXPECT_EQ(&RC, CG.lookupRefSCC(BN));
1502 EXPECT_EQ(&RC, CG.lookupRefSCC(CN));
1508 EXPECT_EQ(&RC, &*J);
1513 NewRCs = RC.removeInternalRefEdges({{&BN, &AN}});
1514 NewRCs = RC.removeInternalRefEdges({{&CN, &BN}});
1516 EXPECT_EQ(&RC, CG.lookupRefSCC(AN));
1517 EXPECT_EQ(&RC, CG.lookupRefSCC(BN));
1518 EXPECT_EQ(&RC, CG.lookupRefSCC(CN));
1524 EXPECT_EQ(&RC, &*J);
1557 LazyCallGraph::RefSCC &RC = *I++;
1560 EXPECT_EQ(1, RC.size());
1561 LazyCallGraph::SCC &AC = *RC.begin();
1573 auto NewCs = RC.switchInternalEdgeToRef(BN, AN);
1575 EXPECT_EQ(1, RC.size());
1582 NewCs = RC.switchInternalEdgeToRef(CN, AN);
1584 EXPECT_EQ(2, RC.size());
1589 auto J = RC.find(AC);
1593 EXPECT_EQ(RC.begin(), J);
1598 NewCs = RC.switchInternalEdgeToRef(CN, BN);
1600 EXPECT_EQ(3, RC.size());
1606 J = RC.find(AC);
1612 EXPECT_EQ(RC.begin(), J);
1650 LazyCallGraph::RefSCC &RC = *I++;
1664 ASSERT_EQ(4, RC.size());
1665 EXPECT_EQ(&DC, &RC[0]);
1666 EXPECT_EQ(&BC, &RC[1]);
1667 EXPECT_EQ(&CC, &RC[2]);
1668 EXPECT_EQ(&AC, &RC[3]);
1672 EXPECT_FALSE(RC.switchInternalEdgeToCall(A, D));
1673 ASSERT_EQ(4, RC.size());
1674 EXPECT_EQ(&DC, &RC[0]);
1675 EXPECT_EQ(&BC, &RC[1]);
1676 EXPECT_EQ(&CC, &RC[2]);
1677 EXPECT_EQ(&AC, &RC[3]);
1681 EXPECT_FALSE(RC.switchInternalEdgeToCall(B, C));
1682 ASSERT_EQ(4, RC.size());
1683 EXPECT_EQ(&DC, &RC[0]);
1684 EXPECT_EQ(&CC, &RC[1]);
1685 EXPECT_EQ(&BC, &RC[2]);
1686 EXPECT_EQ(&AC, &RC[3]);
1689 EXPECT_TRUE(RC.switchInternalEdgeToCall(C, B, [&](ArrayRef<LazyCallGraph::SCC *> MergedCs) {
1693 ASSERT_EQ(3, RC.size());
1694 EXPECT_EQ(&DC, &RC[0]);
1695 EXPECT_EQ(&BC, &RC[1]);
1696 EXPECT_EQ(&AC, &RC[2]);
1762 LazyCallGraph::RefSCC &RC = *I++;
1784 RC.switchTrivialInternalEdgeToRef(B3, C3);
1785 RC.switchTrivialInternalEdgeToRef(C2, B3);
1786 RC.switchTrivialInternalEdgeToRef(B2, C2);
1787 RC.switchTrivialInternalEdgeToRef(C1, B2);
1788 RC.switchTrivialInternalEdgeToRef(B1, C1);
1792 ASSERT_EQ(8, RC.size());
1793 EXPECT_EQ(&DC, &RC[0]);
1794 EXPECT_EQ(&C3C, &RC[1]);
1795 EXPECT_EQ(&B3C, &RC[2]);
1796 EXPECT_EQ(&C2C, &RC[3]);
1797 EXPECT_EQ(&B2C, &RC[4]);
1798 EXPECT_EQ(&C1C, &RC[5]);
1799 EXPECT_EQ(&B1C, &RC[6]);
1800 EXPECT_EQ(&AC, &RC[7]);
1805 EXPECT_FALSE(RC.switchInternalEdgeToCall(C3, B1));
1806 ASSERT_EQ(8, RC.size());
1807 EXPECT_EQ(&DC, &RC[0]);
1808 EXPECT_EQ(&B3C, &RC[1]);
1809 EXPECT_EQ(&B2C, &RC[2]);
1810 EXPECT_EQ(&B1C, &RC[3]);
1811 EXPECT_EQ(&C3C, &RC[4]);
1812 EXPECT_EQ(&C2C, &RC[5]);
1813 EXPECT_EQ(&C1C, &RC[6]);
1814 EXPECT_EQ(&AC, &RC[7]);
1892 LazyCallGraph::RefSCC &RC = *I++;
1911 RC.switchTrivialInternalEdgeToRef(C, D);
1912 RC.switchTrivialInternalEdgeToRef(D, E);
1916 ASSERT_EQ(7, RC.size());
1917 EXPECT_EQ(&GC, &RC[0]);
1918 EXPECT_EQ(&FC, &RC[1]);
1919 EXPECT_EQ(&EC, &RC[2]);
1920 EXPECT_EQ(&DC, &RC[3]);
1921 EXPECT_EQ(&CC, &RC[4]);
1922 EXPECT_EQ(&BC, &RC[5]);
1923 EXPECT_EQ(&AC, &RC[6]);
1936 EXPECT_TRUE(RC.switchInternalEdgeToCall(
1945 ASSERT_EQ(5, RC.size());
1946 EXPECT_EQ(&GC, &RC[0]);
1947 EXPECT_EQ(&CC, &RC[1]);
1948 EXPECT_EQ(&BC, &RC[2]);
1949 EXPECT_EQ(&EC, &RC[3]);
1950 EXPECT_EQ(&AC, &RC[4]);
2206 LazyCallGraph::RefSCC &RC = *I++;
2209 ASSERT_EQ(RC.size(), 3);
2211 EXPECT_EQ(&RC, CG.lookupRefSCC(AN));
2212 EXPECT_EQ(&RC, CG.lookupRefSCC(BN));
2213 EXPECT_EQ(&RC, CG.lookupRefSCC(CN));
2263 LazyCallGraph::RefSCC &RC = *I++;
2266 ASSERT_EQ(4, RC.size());
2268 EXPECT_EQ(&RC, CG.lookupRefSCC(AN));
2269 EXPECT_EQ(&RC, CG.lookupRefSCC(BN));
2270 EXPECT_EQ(&RC, CG.lookupRefSCC(CN));
2271 EXPECT_EQ(&RC, CG.lookupRefSCC(DN));
2316 LazyCallGraph::RefSCC &RC = *I++;
2319 ASSERT_EQ(RC.size(), 3);
2321 EXPECT_EQ(&RC, CG.lookupRefSCC(AN));
2322 EXPECT_EQ(&RC, CG.lookupRefSCC(BN));
2323 EXPECT_EQ(&RC, CG.lookupRefSCC(CN));
2454 LazyCallGraph::RefSCC *RC = &*I++;
2455 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2456 EXPECT_EQ(RC, ORC);
2459 EXPECT_EQ(2, RC->size());
2460 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]);
2461 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[1]);
2500 LazyCallGraph::RefSCC *RC = &*I++;
2501 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2502 EXPECT_EQ(RC, ORC);
2506 EXPECT_EQ(2, RC->size());
2507 EXPECT_EQ(&CG.lookupSCC(*GN)->getOuterRefSCC(), RC);
2508 EXPECT_EQ(&CG.lookupSCC(FN)->getOuterRefSCC(), RC);
2546 LazyCallGraph::RefSCC *RC = &*I++;
2547 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2548 EXPECT_EQ(RC, ORC);
2551 EXPECT_EQ(2, RC->size());
2552 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]);
2553 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[1]);
2590 LazyCallGraph::RefSCC *RC = &*I++;
2591 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2592 EXPECT_EQ(RC, ORC);
2595 EXPECT_EQ(1, RC->size());
2596 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]);
2597 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]);
2641 LazyCallGraph::RefSCC *RC = &*I++;
2642 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2643 EXPECT_EQ(RC, ORC);
2646 EXPECT_EQ(1, RC->size());
2647 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]);
2648 EXPECT_EQ(CG.lookupSCC(F2N), &(*RC)[0]);
2649 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]);
2694 LazyCallGraph::RefSCC *RC = &*I++;
2695 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2696 EXPECT_EQ(RC, ORC);
2699 EXPECT_EQ(2, RC->size());
2700 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]);
2701 EXPECT_EQ(CG.lookupSCC(F2N), &(*RC)[0]);
2702 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[1]);
2747 LazyCallGraph::RefSCC *RC = &*I++;
2748 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2749 EXPECT_EQ(RC, ORC);
2752 EXPECT_EQ(2, RC->size());
2753 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]);
2754 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[1]);
2755 EXPECT_EQ(CG.lookupSCC(F2N), &(*RC)[1]);
2835 LazyCallGraph::RefSCC *RC = &*I++;
2836 EXPECT_EQ(RC, CG.lookupRefSCC(*GN));
2837 EXPECT_EQ(RC, ORC);
2841 EXPECT_EQ(2, RC->size());
2842 EXPECT_EQ(&CG.lookupSCC(*GN)->getOuterRefSCC(), RC);
2843 EXPECT_EQ(&CG.lookupSCC(FN)->getOuterRefSCC(), RC);
2951 LazyCallGraph::RefSCC *RC = &*I++;
2952 EXPECT_EQ(RC, ORC);
2956 EXPECT_EQ(3, RC->size());
2957 EXPECT_EQ(&CG.lookupSCC(FN)->getOuterRefSCC(), RC);
2958 EXPECT_EQ(&CG.lookupSCC(*G1N)->getOuterRefSCC(), RC);
2959 EXPECT_EQ(&CG.lookupSCC(*G2N)->getOuterRefSCC(), RC);
2960 EXPECT_EQ(RC, CG.lookupRefSCC(*G1N));
2961 EXPECT_EQ(RC, CG.lookupRefSCC(*G2N));
3021 LazyCallGraph::RefSCC *RC = &*I++;
3022 EXPECT_EQ(4, RC->size());
3023 EXPECT_EQ(RC, ORC);
3024 EXPECT_EQ(RC, CG.lookupRefSCC(*G1N));
3025 EXPECT_EQ(RC, CG.lookupRefSCC(*G2N));
3026 EXPECT_EQ(RC, CG.lookupRefSCC(FN));
3027 EXPECT_EQ(RC, CG.lookupRefSCC(F2N));