Lines Matching refs:RC
475 LazyCallGraph::RefSCC &RC = *I++; in TEST() local
479 auto J = RC.begin(); in TEST()
520 EXPECT_EQ(RC.end(), J); in TEST()
560 LazyCallGraph::RefSCC &RC = *I++; in TEST() local
568 EXPECT_EQ(&RC, CG.lookupRefSCC(N1)); in TEST()
569 EXPECT_EQ(&RC, CG.lookupRefSCC(N2)); in TEST()
570 EXPECT_EQ(&RC, CG.lookupRefSCC(N3)); in TEST()
571 EXPECT_EQ(&RC, CG.lookupRefSCC(N4)); in TEST()
572 EXPECT_EQ(&RC, CG.lookupRefSCC(N5)); in TEST()
574 ASSERT_EQ(1, RC.size()); in TEST()
576 LazyCallGraph::SCC &C = *RC.begin(); in TEST()
610 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs()) in TEST()
611 dbgs() << "Formed RefSCC: " << RC << "\n"; in TEST()
756 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs()) in TEST()
757 dbgs() << "Formed RefSCC: " << RC << "\n"; in TEST()
848 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs()) in TEST()
849 dbgs() << "Formed RefSCC: " << RC << "\n"; in TEST()
955 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs()) in TEST()
956 dbgs() << "Formed RefSCC: " << RC << "\n"; in TEST()
1032 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs()) in TEST()
1033 dbgs() << "Formed RefSCC: " << RC << "\n"; in TEST()
1094 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs()) in TEST()
1095 dbgs() << "Formed RefSCC: " << RC << "\n"; in TEST()
1240 LazyCallGraph::RefSCC &RC = *I++; in TEST() local
1246 EXPECT_EQ(&RC, CG.lookupRefSCC(A)); in TEST()
1247 EXPECT_EQ(&RC, CG.lookupRefSCC(B)); in TEST()
1248 EXPECT_EQ(&RC, CG.lookupRefSCC(C)); in TEST()
1249 EXPECT_EQ(1, RC.size()); in TEST()
1250 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(A)); in TEST()
1251 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(B)); in TEST()
1252 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(C)); in TEST()
1255 RC.insertInternalRefEdge(A, C); in TEST()
1257 EXPECT_EQ(&RC, CG.lookupRefSCC(A)); in TEST()
1258 EXPECT_EQ(&RC, CG.lookupRefSCC(B)); in TEST()
1259 EXPECT_EQ(&RC, CG.lookupRefSCC(C)); in TEST()
1260 EXPECT_EQ(1, RC.size()); in TEST()
1261 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(A)); in TEST()
1262 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(B)); in TEST()
1263 EXPECT_EQ(&*RC.begin(), CG.lookupSCC(C)); in TEST()
1268 auto NewCs = RC.switchInternalEdgeToRef(B, C); in TEST()
1269 EXPECT_EQ(&RC, CG.lookupRefSCC(A)); in TEST()
1270 EXPECT_EQ(&RC, CG.lookupRefSCC(B)); in TEST()
1271 EXPECT_EQ(&RC, CG.lookupRefSCC(C)); in TEST()
1272 auto J = RC.begin(); in TEST()
1279 EXPECT_EQ(RC.end(), J); in TEST()
1282 EXPECT_EQ(RC.begin(), NewCs.begin()); in TEST()
1283 EXPECT_EQ(std::prev(RC.end()), NewCs.end()); in TEST()
1291 EXPECT_TRUE(RC.switchInternalEdgeToCall(A, C, [&](ArrayRef<LazyCallGraph::SCC *> MergedCs) { in TEST()
1298 J = RC.begin(); in TEST()
1301 EXPECT_EQ(RC.end(), J); in TEST()
1334 LazyCallGraph::RefSCC &RC = *I; in TEST() local
1340 EXPECT_EQ(&RC, CG.lookupRefSCC(A)); in TEST()
1341 EXPECT_EQ(&RC, CG.lookupRefSCC(B)); in TEST()
1342 EXPECT_EQ(&RC, CG.lookupRefSCC(C)); in TEST()
1347 RC.removeInternalRefEdge(B, {&A}); in TEST()
1349 EXPECT_EQ(&RC, CG.lookupRefSCC(A)); in TEST()
1350 EXPECT_EQ(&RC, CG.lookupRefSCC(B)); in TEST()
1351 EXPECT_EQ(&RC, CG.lookupRefSCC(C)); in TEST()
1354 EXPECT_EQ(&RC, &*J); in TEST()
1363 NewRCs = RC.removeInternalRefEdge(C, {&A}); in TEST()
1412 LazyCallGraph::RefSCC &RC = *I; in TEST() local
1418 EXPECT_EQ(&RC, CG.lookupRefSCC(A)); in TEST()
1419 EXPECT_EQ(&RC, CG.lookupRefSCC(B)); in TEST()
1420 EXPECT_EQ(&RC, CG.lookupRefSCC(C)); in TEST()
1428 RC.removeInternalRefEdge(B, {&A, &C}); in TEST()
1479 LazyCallGraph::RefSCC &RC = *I; in TEST() local
1482 LazyCallGraph::SCC &C = *RC.begin(); in TEST()
1483 EXPECT_EQ(RC.end(), std::next(RC.begin())); in TEST()
1488 EXPECT_EQ(&RC, CG.lookupRefSCC(AN)); in TEST()
1489 EXPECT_EQ(&RC, CG.lookupRefSCC(BN)); in TEST()
1490 EXPECT_EQ(&RC, CG.lookupRefSCC(CN)); in TEST()
1497 RC.removeInternalRefEdge(AN, {&CN}); in TEST()
1499 EXPECT_EQ(&RC, CG.lookupRefSCC(AN)); in TEST()
1500 EXPECT_EQ(&RC, CG.lookupRefSCC(BN)); in TEST()
1501 EXPECT_EQ(&RC, CG.lookupRefSCC(CN)); in TEST()
1507 EXPECT_EQ(&RC, &*J); in TEST()
1512 NewRCs = RC.removeInternalRefEdge(BN, {&AN}); in TEST()
1513 NewRCs = RC.removeInternalRefEdge(CN, {&BN}); in TEST()
1515 EXPECT_EQ(&RC, CG.lookupRefSCC(AN)); in TEST()
1516 EXPECT_EQ(&RC, CG.lookupRefSCC(BN)); in TEST()
1517 EXPECT_EQ(&RC, CG.lookupRefSCC(CN)); in TEST()
1523 EXPECT_EQ(&RC, &*J); in TEST()
1556 LazyCallGraph::RefSCC &RC = *I++; in TEST() local
1559 EXPECT_EQ(1, RC.size()); in TEST()
1560 LazyCallGraph::SCC &AC = *RC.begin(); in TEST()
1572 auto NewCs = RC.switchInternalEdgeToRef(BN, AN); in TEST()
1574 EXPECT_EQ(1, RC.size()); in TEST()
1581 NewCs = RC.switchInternalEdgeToRef(CN, AN); in TEST()
1583 EXPECT_EQ(2, RC.size()); in TEST()
1588 auto J = RC.find(AC); in TEST()
1592 EXPECT_EQ(RC.begin(), J); in TEST()
1597 NewCs = RC.switchInternalEdgeToRef(CN, BN); in TEST()
1599 EXPECT_EQ(3, RC.size()); in TEST()
1605 J = RC.find(AC); in TEST()
1611 EXPECT_EQ(RC.begin(), J); in TEST()
1649 LazyCallGraph::RefSCC &RC = *I++; in TEST() local
1663 ASSERT_EQ(4, RC.size()); in TEST()
1664 EXPECT_EQ(&DC, &RC[0]); in TEST()
1665 EXPECT_EQ(&BC, &RC[1]); in TEST()
1666 EXPECT_EQ(&CC, &RC[2]); in TEST()
1667 EXPECT_EQ(&AC, &RC[3]); in TEST()
1671 EXPECT_FALSE(RC.switchInternalEdgeToCall(A, D)); in TEST()
1672 ASSERT_EQ(4, RC.size()); in TEST()
1673 EXPECT_EQ(&DC, &RC[0]); in TEST()
1674 EXPECT_EQ(&BC, &RC[1]); in TEST()
1675 EXPECT_EQ(&CC, &RC[2]); in TEST()
1676 EXPECT_EQ(&AC, &RC[3]); in TEST()
1680 EXPECT_FALSE(RC.switchInternalEdgeToCall(B, C)); in TEST()
1681 ASSERT_EQ(4, RC.size()); in TEST()
1682 EXPECT_EQ(&DC, &RC[0]); in TEST()
1683 EXPECT_EQ(&CC, &RC[1]); in TEST()
1684 EXPECT_EQ(&BC, &RC[2]); in TEST()
1685 EXPECT_EQ(&AC, &RC[3]); in TEST()
1688 EXPECT_TRUE(RC.switchInternalEdgeToCall(C, B, [&](ArrayRef<LazyCallGraph::SCC *> MergedCs) { in TEST()
1692 ASSERT_EQ(3, RC.size()); in TEST()
1693 EXPECT_EQ(&DC, &RC[0]); in TEST()
1694 EXPECT_EQ(&BC, &RC[1]); in TEST()
1695 EXPECT_EQ(&AC, &RC[2]); in TEST()
1761 LazyCallGraph::RefSCC &RC = *I++; in TEST() local
1783 RC.switchTrivialInternalEdgeToRef(B3, C3); in TEST()
1784 RC.switchTrivialInternalEdgeToRef(C2, B3); in TEST()
1785 RC.switchTrivialInternalEdgeToRef(B2, C2); in TEST()
1786 RC.switchTrivialInternalEdgeToRef(C1, B2); in TEST()
1787 RC.switchTrivialInternalEdgeToRef(B1, C1); in TEST()
1791 ASSERT_EQ(8, RC.size()); in TEST()
1792 EXPECT_EQ(&DC, &RC[0]); in TEST()
1793 EXPECT_EQ(&C3C, &RC[1]); in TEST()
1794 EXPECT_EQ(&B3C, &RC[2]); in TEST()
1795 EXPECT_EQ(&C2C, &RC[3]); in TEST()
1796 EXPECT_EQ(&B2C, &RC[4]); in TEST()
1797 EXPECT_EQ(&C1C, &RC[5]); in TEST()
1798 EXPECT_EQ(&B1C, &RC[6]); in TEST()
1799 EXPECT_EQ(&AC, &RC[7]); in TEST()
1804 EXPECT_FALSE(RC.switchInternalEdgeToCall(C3, B1)); in TEST()
1805 ASSERT_EQ(8, RC.size()); in TEST()
1806 EXPECT_EQ(&DC, &RC[0]); in TEST()
1807 EXPECT_EQ(&B3C, &RC[1]); in TEST()
1808 EXPECT_EQ(&B2C, &RC[2]); in TEST()
1809 EXPECT_EQ(&B1C, &RC[3]); in TEST()
1810 EXPECT_EQ(&C3C, &RC[4]); in TEST()
1811 EXPECT_EQ(&C2C, &RC[5]); in TEST()
1812 EXPECT_EQ(&C1C, &RC[6]); in TEST()
1813 EXPECT_EQ(&AC, &RC[7]); in TEST()
1891 LazyCallGraph::RefSCC &RC = *I++; in TEST() local
1910 RC.switchTrivialInternalEdgeToRef(C, D); in TEST()
1911 RC.switchTrivialInternalEdgeToRef(D, E); in TEST()
1915 ASSERT_EQ(7, RC.size()); in TEST()
1916 EXPECT_EQ(&GC, &RC[0]); in TEST()
1917 EXPECT_EQ(&FC, &RC[1]); in TEST()
1918 EXPECT_EQ(&EC, &RC[2]); in TEST()
1919 EXPECT_EQ(&DC, &RC[3]); in TEST()
1920 EXPECT_EQ(&CC, &RC[4]); in TEST()
1921 EXPECT_EQ(&BC, &RC[5]); in TEST()
1922 EXPECT_EQ(&AC, &RC[6]); in TEST()
1935 EXPECT_TRUE(RC.switchInternalEdgeToCall( in TEST()
1944 ASSERT_EQ(5, RC.size()); in TEST()
1945 EXPECT_EQ(&GC, &RC[0]); in TEST()
1946 EXPECT_EQ(&CC, &RC[1]); in TEST()
1947 EXPECT_EQ(&BC, &RC[2]); in TEST()
1948 EXPECT_EQ(&EC, &RC[3]); in TEST()
1949 EXPECT_EQ(&AC, &RC[4]); in TEST()
2291 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2292 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2293 EXPECT_EQ(RC, ORC); in TEST()
2296 EXPECT_EQ(2, RC->size()); in TEST()
2297 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]); in TEST()
2298 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[1]); in TEST()
2336 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2337 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2338 EXPECT_EQ(RC, ORC); in TEST()
2342 EXPECT_EQ(2, RC->size()); in TEST()
2343 EXPECT_EQ(&CG.lookupSCC(*GN)->getOuterRefSCC(), RC); in TEST()
2344 EXPECT_EQ(&CG.lookupSCC(FN)->getOuterRefSCC(), RC); in TEST()
2382 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2383 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2384 EXPECT_EQ(RC, ORC); in TEST()
2387 EXPECT_EQ(2, RC->size()); in TEST()
2388 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]); in TEST()
2389 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[1]); in TEST()
2426 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2427 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2428 EXPECT_EQ(RC, ORC); in TEST()
2431 EXPECT_EQ(1, RC->size()); in TEST()
2432 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]); in TEST()
2433 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]); in TEST()
2477 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2478 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2479 EXPECT_EQ(RC, ORC); in TEST()
2482 EXPECT_EQ(1, RC->size()); in TEST()
2483 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]); in TEST()
2484 EXPECT_EQ(CG.lookupSCC(F2N), &(*RC)[0]); in TEST()
2485 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]); in TEST()
2530 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2531 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2532 EXPECT_EQ(RC, ORC); in TEST()
2535 EXPECT_EQ(2, RC->size()); in TEST()
2536 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[0]); in TEST()
2537 EXPECT_EQ(CG.lookupSCC(F2N), &(*RC)[0]); in TEST()
2538 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[1]); in TEST()
2582 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2583 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2584 EXPECT_EQ(RC, ORC); in TEST()
2587 EXPECT_EQ(2, RC->size()); in TEST()
2588 EXPECT_EQ(CG.lookupSCC(*GN), &(*RC)[0]); in TEST()
2589 EXPECT_EQ(CG.lookupSCC(FN), &(*RC)[1]); in TEST()
2590 EXPECT_EQ(CG.lookupSCC(F2N), &(*RC)[1]); in TEST()
2669 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2670 EXPECT_EQ(RC, CG.lookupRefSCC(*GN)); in TEST()
2671 EXPECT_EQ(RC, ORC); in TEST()
2675 EXPECT_EQ(2, RC->size()); in TEST()
2676 EXPECT_EQ(&CG.lookupSCC(*GN)->getOuterRefSCC(), RC); in TEST()
2677 EXPECT_EQ(&CG.lookupSCC(FN)->getOuterRefSCC(), RC); in TEST()
2780 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2781 EXPECT_EQ(RC, ORC); in TEST()
2785 EXPECT_EQ(3, RC->size()); in TEST()
2786 EXPECT_EQ(&CG.lookupSCC(FN)->getOuterRefSCC(), RC); in TEST()
2787 EXPECT_EQ(&CG.lookupSCC(*G1N)->getOuterRefSCC(), RC); in TEST()
2788 EXPECT_EQ(&CG.lookupSCC(*G2N)->getOuterRefSCC(), RC); in TEST()
2789 EXPECT_EQ(RC, CG.lookupRefSCC(*G1N)); in TEST()
2790 EXPECT_EQ(RC, CG.lookupRefSCC(*G2N)); in TEST()
2847 LazyCallGraph::RefSCC *RC = &*I++; in TEST() local
2848 EXPECT_EQ(4, RC->size()); in TEST()
2849 EXPECT_EQ(RC, ORC); in TEST()
2850 EXPECT_EQ(RC, CG.lookupRefSCC(*G1N)); in TEST()
2851 EXPECT_EQ(RC, CG.lookupRefSCC(*G2N)); in TEST()
2852 EXPECT_EQ(RC, CG.lookupRefSCC(FN)); in TEST()
2853 EXPECT_EQ(RC, CG.lookupRefSCC(F2N)); in TEST()