Lines Matching refs:MSSA

51     std::unique_ptr<MemorySSA> MSSA;  member
58 MSSA = std::make_unique<MemorySSA>(*Test.F, &AA, &DT); in TestAnalyses()
59 Walker = MSSA->getWalker(); in TestAnalyses()
95 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
96 MemorySSAUpdater Updater(&MSSA); in TEST_F()
102 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
110 MSSA.verifyMemorySSA(); in TEST_F()
134 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
135 MemorySSAUpdater Updater(&MSSA); in TEST_F()
148 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
168 MP = MSSA.getMemoryAccess(Merge); in TEST_F()
200 MSSA.verifyMemorySSA(); in TEST_F()
224 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
225 MemorySSAUpdater Updater(&MSSA); in TEST_F()
234 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
247 MSSA.verifyMemorySSA(); in TEST_F()
275 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
276 MemorySSAUpdater Updater(&MSSA); in TEST_F()
291 MSSA.verifyMemorySSA(); in TEST_F()
292 Updater.removeMemoryAccess(MSSA.getMemoryAccess(LoadInst1)); in TEST_F()
293 MSSA.verifyMemorySSA(); in TEST_F()
319 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
320 MemorySSAUpdater Updater(&MSSA); in TEST_F()
323 MemoryAccess *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore); in TEST_F()
324 MemoryAccess *SideStoreAccess = MSSA.getMemoryAccess(SideStore); in TEST_F()
329 MSSA.verifyMemorySSA(); in TEST_F()
355 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
356 MemorySSAUpdater Updater(&MSSA); in TEST_F()
360 auto *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore); in TEST_F()
361 auto *SideStoreAccess = MSSA.getMemoryAccess(SideStore); in TEST_F()
365 auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad)); in TEST_F()
375 MSSA.verifyMemorySSA(); in TEST_F()
401 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
402 MemorySSAUpdater Updater(&MSSA); in TEST_F()
405 auto *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore); in TEST_F()
406 auto *SideStoreAccess = MSSA.getMemoryAccess(SideStore); in TEST_F()
408 auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad)); in TEST_F()
419 MSSA.verifyMemorySSA(); in TEST_F()
445 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
446 MemorySSAUpdater Updater(&MSSA); in TEST_F()
449 auto *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore); in TEST_F()
450 auto *SideStoreAccess = MSSA.getMemoryAccess(SideStore); in TEST_F()
452 auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad)); in TEST_F()
463 MSSA.verifyMemorySSA(); in TEST_F()
467 MSSA.verifyMemorySSA(); in TEST_F()
475 MSSA.verifyMemorySSA(); in TEST_F()
500 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
501 MemorySSAUpdater Updater(&MSSA); in TEST_F()
504 MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LoadInst)); in TEST_F()
505 MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst)); in TEST_F()
513 EXPECT_TRUE(MSSA.isLiveOnEntryDef(cast<MemoryAccess>(Op.get()))); in TEST_F()
515 MP->replaceAllUsesWith(MSSA.getLiveOnEntryDef()); in TEST_F()
517 EXPECT_TRUE(MSSA.isLiveOnEntryDef(LoadAccess->getDefiningAccess())); in TEST_F()
520 MSSA.verifyMemorySSA(); in TEST_F()
545 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
547 MemorySSAUpdater Updater(&MSSA); in TEST_F()
551 MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LoadInst)); in TEST_F()
552 MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst)); in TEST_F()
559 MSSA.verifyMemorySSA(); in TEST_F()
570 MSSA.isLiveOnEntryDef(Walker->getClobberingMemoryAccess(LoadInst))); in TEST_F()
574 MSSA.isLiveOnEntryDef(Walker->getClobberingMemoryAccess(LoadInst))); in TEST_F()
578 EXPECT_TRUE(MSSA.isLiveOnEntryDef(Operand)); in TEST_F()
583 MSSA.verifyMemorySSA(); in TEST_F()
585 EXPECT_TRUE(MSSA.isLiveOnEntryDef(LoadAccess->getDefiningAccess())); in TEST_F()
611 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
617 MemoryAccess *DefiningAccess = MSSA.getMemoryAccess(V)->getDefiningAccess(); in TEST_F()
641 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
645 EXPECT_EQ(LoadClobber, MSSA.getMemoryAccess(SI)); in TEST_F()
646 EXPECT_TRUE(MSSA.isLiveOnEntryDef(Walker->getClobberingMemoryAccess(SI))); in TEST_F()
670 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
673 MemoryAccess *StoreAccess = MSSA.getMemoryAccess(SI); in TEST_F()
680 EXPECT_TRUE(MSSA.isLiveOnEntryDef(LiveOnEntry)); in TEST_F()
686 EXPECT_TRUE(MSSA.isLiveOnEntryDef(LiveOnEntry)); in TEST_F()
734 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
736 MemorySSAUpdater Updater(&MSSA); in TEST_F()
740 Updater.removeMemoryAccess(MSSA.getMemoryAccess(KillStore)); in TEST_F()
742 auto *ALoadMA = cast<MemoryUse>(MSSA.getMemoryAccess(ALoad)); in TEST_F()
743 EXPECT_EQ(ALoadMA->getDefiningAccess(), MSSA.getMemoryAccess(BStore)); in TEST_F()
749 EXPECT_EQ(MSSA.getMemoryAccess(FirstStore), Load0Clobber); in TEST_F()
755 MemoryAccess *Phi = MSSA.getMemoryAccess(IfEnd); in TEST_F()
761 EXPECT_EQ(UseClobber, MSSA.getMemoryAccess(FirstStore)); in TEST_F()
781 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
784 auto *LoadMA = cast<MemoryUse>(MSSA.getMemoryAccess(Load)); in TEST_F()
785 auto *StoreMA = cast<MemoryDef>(MSSA.getMemoryAccess(Store)); in TEST_F()
794 EXPECT_EQ(LoadClobber, MSSA.getLiveOnEntryDef()); in TEST_F()
810 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
812 MemorySSAUpdater Updater(&MSSA); in TEST_F()
815 MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LIA)); in TEST_F()
816 EXPECT_EQ(LoadClobber, MSSA.getMemoryAccess(SIA)); in TEST_F()
817 EXPECT_TRUE(MSSA.isLiveOnEntryDef(Walker->getClobberingMemoryAccess(SIA))); in TEST_F()
822 LIA, MSSA.getMemoryAccess(SIB), LIA->getParent(), MemorySSA::End)); in TEST_F()
848 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
851 MemorySSAUpdater Updater(&MSSA); in TEST_F()
853 Updater.moveBefore(cast<MemoryDef>(MSSA.getMemoryAccess(StoreC)), in TEST_F()
854 cast<MemoryDef>(MSSA.getMemoryAccess(StoreB))); in TEST_F()
856 MSSA.verifyMemorySSA(); in TEST_F()
858 EXPECT_EQ(MSSA.getMemoryAccess(StoreB)->getDefiningAccess(), in TEST_F()
859 MSSA.getMemoryAccess(StoreC)); in TEST_F()
860 EXPECT_EQ(MSSA.getMemoryAccess(StoreC)->getDefiningAccess(), in TEST_F()
861 MSSA.getMemoryAccess(StoreA0)); in TEST_F()
862 EXPECT_EQ(MSSA.getMemoryAccess(StoreA2)->getDefiningAccess(), in TEST_F()
863 MSSA.getMemoryAccess(StoreA1)); in TEST_F()
865 MSSA.getMemoryAccess(StoreB)); in TEST_F()
867 MSSA.getMemoryAccess(StoreC)); in TEST_F()
870 EXPECT_TRUE(MSSA.locallyDominates(MSSA.getMemoryAccess(StoreC), in TEST_F()
871 MSSA.getMemoryAccess(StoreB))); in TEST_F()
872 EXPECT_TRUE(MSSA.locallyDominates(MSSA.getMemoryAccess(StoreA1), in TEST_F()
873 MSSA.getMemoryAccess(StoreA2))); in TEST_F()
906 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
907 MemorySSAUpdater Updater(&MSSA); in TEST_F()
913 MSSA.verifyMemorySSA(); in TEST_F()
940 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
942 auto *DefA = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA)); in TEST_F()
943 auto *DefB = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB)); in TEST_F()
945 MemoryAccess *BClobber = MSSA.getWalker()->getClobberingMemoryAccess(DefB); in TEST_F()
948 MemorySSAUpdater(&MSSA).removeMemoryAccess(DefA); in TEST_F()
951 EXPECT_EQ(DefB->getDefiningAccess(), MSSA.getLiveOnEntryDef()); in TEST_F()
953 EXPECT_EQ(MSSA.getWalker()->getClobberingMemoryAccess(DefB), in TEST_F()
954 MSSA.getLiveOnEntryDef()) in TEST_F()
987 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
989 auto *DefX1 = cast<MemoryDef>(MSSA.getMemoryAccess(StoreX1)); in TEST_F()
990 auto *DefY = cast<MemoryDef>(MSSA.getMemoryAccess(StoreY)); in TEST_F()
991 auto *DefX2 = cast<MemoryDef>(MSSA.getMemoryAccess(StoreX2)); in TEST_F()
994 MemoryAccess *X2Clobber = MSSA.getWalker()->getClobberingMemoryAccess(DefX2); in TEST_F()
997 MemorySSAUpdater(&MSSA).removeMemoryAccess(DefX1); in TEST_F()
1001 EXPECT_EQ(MSSA.getWalker()->getClobberingMemoryAccess(DefX2), in TEST_F()
1002 MSSA.getLiveOnEntryDef()) in TEST_F()
1028 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1029 MSSA.ensureOptimizedUses(); in TEST_F()
1033 MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V)); in TEST_F()
1041 MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V)); in TEST_F()
1066 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1071 MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V)); in TEST_F()
1120 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1121 MSSA.ensureOptimizedUses(); in TEST_F()
1125 MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V)); in TEST_F()
1133 MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V)); in TEST_F()
1171 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1176 MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V)); in TEST_F()
1190 MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V)); in TEST_F()
1259 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1261 MemoryAccess *LifetimeStartAccess = MSSA.getMemoryAccess(LifetimeStart); in TEST_F()
1264 MemoryAccess *FooAccess = MSSA.getMemoryAccess(FooStore); in TEST_F()
1267 MemoryAccess *BarAccess = MSSA.getMemoryAccess(BarStore); in TEST_F()
1270 MemoryAccess *BazAccess = MSSA.getMemoryAccess(BazMemSet); in TEST_F()
1274 MSSA.getWalker()->getClobberingMemoryAccess(FooAccess); in TEST_F()
1278 MSSA.getWalker()->getClobberingMemoryAccess(BarAccess); in TEST_F()
1282 MSSA.getWalker()->getClobberingMemoryAccess(BazAccess); in TEST_F()
1286 MSSA.getWalker()->getClobberingMemoryAccess( in TEST_F()
1328 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1330 auto *AccessEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreEntry)); in TEST_F()
1331 auto *StoreAEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA)); in TEST_F()
1332 auto *StoreBEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB)); in TEST_F()
1334 ASSERT_EQ(MSSA.getWalker()->getClobberingMemoryAccess(StoreAEntry), in TEST_F()
1338 ASSERT_EQ(MSSA.getWalker()->getClobberingMemoryAccess(StoreBEntry), in TEST_F()
1348 MemorySSAUpdater(&MSSA).moveToPlace(StoreAEntry, BlockB, in TEST_F()
1351 ASSERT_EQ(MSSA.getWalker()->getClobberingMemoryAccess(StoreAEntry), in TEST_F()
1370 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1375 MSSA.getLiveOnEntryDef()); in TEST_F()
1377 MSSA.getLiveOnEntryDef()); in TEST_F()
1378 auto *StoreAAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA)); in TEST_F()
1379 auto *StoreA2Access = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA2)); in TEST_F()
1383 auto *StoreBAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB)); in TEST_F()
1413 EXPECT_EQ(SortedUserList(cast<MemoryDef>(MSSA.getLiveOnEntryDef())), in TEST_F()
1454 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1457 std::make_unique<MemorySSAUpdater>(&MSSA); in TEST_F()
1459 MemoryPhi *Phi = MSSA.getMemoryAccess(Exit); in TEST_F()
1516 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1519 std::make_unique<MemorySSAUpdater>(&MSSA); in TEST_F()
1521 MemoryDef *DefS1 = cast<MemoryDef>(MSSA.getMemoryAccess(S1)); in TEST_F()
1533 MemoryPhi *Phi = MSSA.getMemoryAccess(Exit); in TEST_F()
1589 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1591 std::make_unique<MemorySSAUpdater>(&MSSA); in TEST_F()
1602 MemoryPhi *MPC = MSSA.getMemoryAccess(CBlock); in TEST_F()
1604 MemoryPhi *MPD = MSSA.getMemoryAccess(DBlock); in TEST_F()
1606 MemoryPhi *MPE = MSSA.getMemoryAccess(EBlock); in TEST_F()
1624 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1627 MemoryUseOrDef *Store1Access = MSSA.getMemoryAccess(StorePointer1); in TEST_F()
1628 MemoryUseOrDef *Store2Access = MSSA.getMemoryAccess(StorePointer2); in TEST_F()
1629 MemoryUseOrDef *MemSetAccess = MSSA.getMemoryAccess(MemSet); in TEST_F()
1658 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1661 MemoryUseOrDef *Load1Access = MSSA.getMemoryAccess(LoadPointer1); in TEST_F()
1662 MemoryUseOrDef *Load2Access = MSSA.getMemoryAccess(LoadPointer2); in TEST_F()
1668 EXPECT_TRUE(MSSA.isLiveOnEntryDef(Pointer1Clobber)); in TEST_F()
1672 EXPECT_TRUE(MSSA.isLiveOnEntryDef(Pointer2Clobber)); in TEST_F()
1705 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1712 MemoryAccess *MA = MSSA.getMemoryAccess(SI); in TEST_F()
1716 auto ItA = upward_defs_begin({MA, ML}, MSSA.getDomTree()); in TEST_F()
1718 upward_defs_begin({ItA->first, ItA->second}, MSSA.getDomTree()); in TEST_F()
1743 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1752 MemoryAccess *SAccess = MSSA.getMemoryAccess(&SI); in TEST_F()
1753 MemoryAccess *LAccess = MSSA.getMemoryAccess(&LI); in TEST_F()
1755 EXPECT_TRUE(MSSA.isLiveOnEntryDef(SClobber)); in TEST_F()
1761 MemorySSAUpdater Updater(&MSSA); in TEST_F()
1766 MemoryAccess *CallAccess = MSSA.getMemoryAccess(&Call); in TEST_F()
1767 MemoryAccess *LAccess = MSSA.getMemoryAccess(&LI); in TEST_F()
1827 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
1828 MemorySSAUpdater Updater(&MSSA); in TEST_F()
1835 if (MemoryUseOrDef *MUD = MSSA.getMemoryAccess(LI)) in TEST_F()
1860 if (MemoryUseOrDef *MUD = MSSA.getMemoryAccess(LI)) in TEST_F()