| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| MemorySSAUpdater.cpp | 53 if (!MSSA->DT->isReachableFromEntry(BB)) 54 return MSSA->getLiveOnEntryDef(); 68 MemoryAccess *Result = MSSA->createMemoryPhi(BB); 83 if (MSSA->DT->isReachableFromEntry(Pred)) { 91 PhiOps.push_back(MSSA->getLiveOnEntryDef()); 96 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB)); 111 Phi = MSSA->createMemoryPhi(BB); 155 auto *Defs = MSSA->getWritableBlockDefs(MA->getBlock()); 167 auto End = MSSA->getWritableBlockAccesses(MA->getBlock())->rend(); 182 auto *Defs = MSSA->getWritableBlockDefs(BB) [all...] |
| MemorySSA.cpp | 65 DotCFGMSSA("dot-cfg-mssa", 95 "enable-mssa-loop-dependency", cl::Hidden, cl::init(true), 109 const MemorySSA *MSSA; 112 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} 116 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) 122 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) 382 /// \param MSSA The MemorySSA instance that Start and ClobberAt belong to. 390 const MemoryLocation &StartLoc, const MemorySSA &MSSA, 393 assert(MSSA.dominates(ClobberAt, Start) && "Clobber doesn't dominate start?"); 395 if (MSSA.isLiveOnEntryDef(Start)) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| LoopDeletion.cpp | 143 LoopInfo &LI, MemorySSA *MSSA, 154 breakLoopBackedge(L, DT, SE, LI, MSSA); 174 MemorySSA *MSSA, 207 deleteDeadLoop(L, &DT, &SE, &LI, MSSA); 250 deleteDeadLoop(L, &DT, &SE, &LI, MSSA); 267 auto Result = deleteLoopIfDead(&L, AR.DT, AR.SE, AR.LI, AR.MSSA, ORE); 274 AR.MSSA, ORE)); 283 if (AR.MSSA) 322 MemorySSA *MSSA = nullptr; 324 MSSA = &MSSAAnalysis->getMSSA() [all...] |
| LoopInstSimplify.cpp | 80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; 85 MSSA->verifyMemorySSA(); 139 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I)) 140 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI)) 159 MSSA->verifyMemorySSA(); 198 MemorySSA *MSSA = nullptr; 201 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); 202 MSSAU = MemorySSAUpdater(MSSA); 228 if (AR.MSSA) { 229 MSSAU = MemorySSAUpdater(AR.MSSA); [all...] |
| LoopRotation.cpp | 61 if (AR.MSSA) 62 MSSAU = MemorySSAUpdater(AR.MSSA); 71 if (AR.MSSA && VerifyMemorySSA) 72 AR.MSSA->verifyMemorySSA(); 75 if (AR.MSSA)
|
| LoopSink.cpp | 74 "enable-mssa-in-loop-sink", cl::Hidden, cl::init(true), 78 "enable-mssa-in-legacy-loop-sink", cl::Hidden, cl::init(false), 284 MemorySSA *MSSA) { 302 if (MSSA) { 303 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); 305 std::make_unique<SinkAndHoistLICMFlags>(/*IsSink=*/true, &L, MSSA); 361 MemorySSA *MSSA = EnableMSSAInLoopSink 396 CurAST.get(), MSSA); 405 if (MSSA) { 409 MSSA->verifyMemorySSA() [all...] |
| LICM.cpp | 137 "licm-mssa-optimization-cap", cl::init(100), cl::Hidden, 145 "licm-mssa-max-acc-promotion", cl::init(250), cl::Hidden, 146 cl::desc("[LICM & MemorySSA] When MSSA in LICM is disabled, this has no " 147 "effect. When MSSA in LICM is enabled, then this is the maximum " 173 static bool pointerInvalidatedByLoopWithMSSA(MemorySSA *MSSA, MemoryUse *MU, 176 static bool pointerInvalidatedByBlockWithMSSA(BasicBlock &BB, MemorySSA &MSSA, 189 static void foreachMemoryAccess(MemorySSA *MSSA, Loop *L, 192 collectPromotionCandidates(MemorySSA *MSSA, AliasAnalysis *AA, Loop *L); 198 TargetTransformInfo *TTI, ScalarEvolution *SE, MemorySSA *MSSA, 231 MemorySSA *MSSA = EnableMSSALoopDependenc [all...] |
| MemCpyOptimizer.cpp | 356 static bool writtenBetween(MemorySSA *MSSA, MemoryLocation Loc, 360 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( 362 return !MSSA->dominates(Clobber, Start); 610 // Find MSSA insertion point. Normally P will always have a corresponding 612 // pipelines, there may be a mismatch between AA and MSSA, in which case we 615 // TODO: Simplify this once P will be determined by MSSA, in which case the 683 // TODO: Can use MSSA for this. 751 MSSA->getWalker()->getClobberingMemoryAccess(LI))) { 768 if (accessedBetween(*AA, StoreLoc, MSSA->getMemoryAccess(C), 769 MSSA->getMemoryAccess(SI)) [all...] |
| LoopPassManager.cpp | 199 MemorySSA *MSSA = 212 MSSA}; 296 if (LAR.MSSA && VerifyMemorySSA) 297 LAR.MSSA->verifyMemorySSA();
|
| GVNHoist.cpp | 262 MemoryDependenceResults *MD, MemorySSA *MSSA) 263 : DT(DT), PDT(PDT), AA(AA), MD(MD), MSSA(MSSA), 264 MSSAUpdater(std::make_unique<MemorySSAUpdater>(MSSA)) {} 282 MemorySSA *MSSA; 535 auto &MSSA = getAnalysis<MemorySSAWrapperPass>().getMSSA(); 537 GVNHoist G(&DT, &PDT, &AA, &MD, &MSSA); 634 const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB); 770 if (NewBB == DBB && !MSSA->isLiveOnEntryDef(D)) 787 assert(MSSA->locallyDominates(D, U)) [all...] |
| LoopUnswitch.cpp | 194 MemorySSA *MSSA = nullptr; 543 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); 544 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); 554 if (MSSA && VerifyMemorySSA) 555 MSSA->verifyMemorySSA(); 560 if (MSSA && VerifyMemorySSA) 561 MSSA->verifyMemorySSA(); 566 if (MSSA && VerifyMemorySSA) 567 MSSA->verifyMemorySSA(); 848 if (MSSA & [all...] |
| DeadStoreElimination.cpp | 851 MemorySSA &MSSA; 878 DSEState(Function &F, AliasAnalysis &AA, MemorySSA &MSSA, DominatorTree &DT, 880 : F(F), AA(AA), BatchAA(AA), MSSA(MSSA), DT(DT), PDT(PDT), TLI(TLI), 883 static DSEState get(Function &F, AliasAnalysis &AA, MemorySSA &MSSA, 886 DSEState State(F, AA, MSSA, DT, PDT, TLI); 893 MemoryAccess *MA = MSSA.getMemoryAccess(&I); 1310 if (!MSSA.isLiveOnEntryDef(Current) && isa<MemoryUseOrDef>(Current)) 1317 if (MSSA.isLiveOnEntryDef(Current)) { 1375 return !MSSA.dominates(StartAccess, UseOrDef) & [all...] |
| EarlyCSE.cpp | 81 "earlycse-mssa-optimization-cap", cl::init(500), cl::Hidden, 525 MemorySSA *MSSA; 604 AssumptionCache &AC, MemorySSA *MSSA) 605 : TLI(TLI), TTI(TTI), DT(DT), AC(AC), SQ(DL, &TLI, &DT, &AC), MSSA(MSSA), 606 MSSAUpdater(std::make_unique<MemorySSAUpdater>(MSSA)) {} 955 if (!MSSA) 958 MSSA->verifyMemorySSA(); 995 if (!MSSA) 1005 auto *EarlierMA = MSSA->getMemoryAccess(EarlierInst) [all...] |
| LoopSimplifyCFG.cpp | 704 if (AR.MSSA) 705 MSSAU = MemorySSAUpdater(AR.MSSA); 716 if (AR.MSSA) 738 MemorySSA *MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); 739 MSSAU = MemorySSAUpdater(MSSA); 741 MSSA->verifyMemorySSA();
|
| SimpleLoopUnswitch.cpp | 492 // Temporarily clone the terminator, to make MSSA update cheaper by 920 if (MSSAU) // Possible early exit with MSSA 2029 // Get blocks in RPO order for MSSA update, before changing the CFG. 2124 // Keep a clone of the terminator for MSSA updates. 2230 // Perform MSSA cloning updates. 2880 /// The `MSSA` analysis is also updated if valid (i.e. its use is enabled). 2979 if (AR.MSSA) { 2980 MSSAU = MemorySSAUpdater(AR.MSSA); 2982 AR.MSSA->verifyMemorySSA(); 2988 if (AR.MSSA && VerifyMemorySSA [all...] |
| NewGVN.cpp | 497 MemorySSA *MSSA = nullptr; 661 TargetLibraryInfo *TLI, AliasAnalysis *AA, MemorySSA *MSSA, 663 : F(F), DT(DT), TLI(TLI), AA(AA), MSSA(MSSA), AC(AC), DL(DL), 940 auto *Result = MSSA->getMemoryAccess(I); 946 return MSSA->getMemoryAccess(BB); 1398 StoreRHS = MSSA->getLiveOnEntryDef(); 1527 if (!MSSA->isLiveOnEntryDef(DefiningAccess)) { 1609 if (auto *MA = MSSA->getMemoryAccess(CI)) { 1612 } else // MSSA determined that CI does not access memory [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| MemorySSAUpdater.h | 58 MemorySSA *MSSA; 68 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} 225 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) 249 MemorySSA* getMemorySSA() const { return MSSA; }
|
| LoopAnalysisManager.h | 61 MemorySSA *MSSA; 117 /// Mark MemorySSA as used so we can invalidate self if MSSA is invalidated.
|
| MemorySSA.h | 932 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {} 934 MemorySSA &getMSSA() { return *MSSA.get(); } 936 std::unique_ptr<MemorySSA> MSSA; 969 MemorySSA &getMSSA() { return *MSSA; } 970 const MemorySSA &getMSSA() const { return *MSSA; } 978 std::unique_ptr<MemorySSA> MSSA; 1022 MemoryAccess *MA = MSSA->getMemoryAccess(I); 1053 friend class MemorySSA; // For updating MSSA pointer in MemorySSA mov [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| AMDGPUAnnotateUniformValues.cpp | 31 MemorySSA *MSSA; 74 const MemoryAccess *MA = MSSA->getWalker()->getClobberingMemoryAccess(Load); 75 return !MSSA->isLiveOnEntryDef(MA); 141 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA();
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/ |
| MemCpyOptimizer.h | 48 MemorySSA *MSSA = nullptr; 59 MemorySSA *MSSA);
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/ |
| LoopUtils.h | 123 Loop *L = nullptr, MemorySSA *MSSA = nullptr); 126 MemorySSA *MSSA = nullptr); 178 /// and \p MSSA if pointers to those are provided. 182 LoopInfo *LI, MemorySSA *MSSA = nullptr); 188 LoopInfo &LI, MemorySSA *MSSA); 523 MemorySSA &MSSA, AAResults &AA);
|
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| InterleavedLoadCombinePass.cpp | 66 InterleavedLoadCombineImpl(Function &F, DominatorTree &DT, MemorySSA &MSSA, 68 : F(F), DT(DT), MSSA(MSSA), 84 MemorySSA &MSSA; 1186 auto FMA = MSSA.getMemoryAccess(First); 1188 auto MADef = MSSA.getMemoryAccess(LI)->getDefiningAccess(); 1189 if (!MSSA.dominates(MADef, FMA)) 1228 auto MSSAU = MemorySSAUpdater(&MSSA); 1230 LI, nullptr, MSSA.getMemoryAccess(InsertionPoint)));
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| LoopUtils.cpp | 539 LoopInfo *LI, MemorySSA *MSSA) { 545 if (MSSA) 546 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); 625 if (MSSA) { 629 MSSA->verifyMemorySSA(); 649 if (MSSA) { 656 MSSA->verifyMemorySSA(); 722 if (MSSA && VerifyMemorySSA) 723 MSSA->verifyMemorySSA(); 766 LoopInfo &LI, MemorySSA *MSSA) { [all...] |
| LoopSimplify.cpp | 815 MemorySSA *MSSA = nullptr; 820 MSSA = &MSSAAnalysis->getMSSA(); 821 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); 851 auto *MSSA = &MSSAAnalysis->getMSSA(); 852 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA);
|