HomeSort by: relevance | last modified time | path
    Searched defs:MSSA (Results 1 - 25 of 25) sorted by relevancy

  /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/include/llvm/Transforms/Scalar/
MemCpyOptimizer.h 48 MemorySSA *MSSA = nullptr;
59 MemorySSA *MSSA);
  /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/lib/Transforms/Scalar/
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...]
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...]
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...]
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();
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...]
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...]
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...]
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...]
GVN.cpp 672 auto *MSSA = AM.getCachedResult<MemorySSAAnalysis>(F);
675 MSSA ? &MSSA->getMSSA() : nullptr);
681 if (MSSA)
1199 auto *MSSA = MSSAU->getMemorySSA();
1203 auto *LoadAcc = MSSA->getMemoryAccess(Load);
2439 OptimizationRemarkEmitter *RunORE, MemorySSA *MSSA) {
2452 MemorySSAUpdater Updater(MSSA);
2453 MSSAU = MSSA ? &Updater : nullptr;
2500 if (MSSA && VerifyMemorySSA
    [all...]
IndVarSimplify.cpp 175 TargetTransformInfo *TTI, MemorySSA *MSSA, bool WidenIndVars)
178 if (MSSA)
179 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA);
1927 IndVarSimplify IVS(&AR.LI, &AR.SE, &AR.DT, DL, &AR.TLI, &AR.TTI, AR.MSSA,
1934 if (AR.MSSA)
1961 MemorySSA *MSSA = nullptr;
1963 MSSA = &MSSAAnalysis->getMSSA();
1965 IndVarSimplify IVS(LI, SE, DT, DL, TLI, TTI, MSSA, AllowIVWidening);
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...]
LoopIdiomRecognize.cpp 166 const TargetTransformInfo *TTI, MemorySSA *MSSA,
170 if (MSSA)
171 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA);
286 MemorySSA *MSSA = nullptr;
288 MSSA = &MSSAAnalysis->getMSSA();
295 LoopIdiomRecognize LIR(AA, DT, LI, SE, TLI, TTI, MSSA, DL, ORE);
327 AR.MSSA, DL, ORE);
332 if (AR.MSSA)
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...]
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...]
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...]
LoopStrengthReduce.cpp 5919 MemorySSA *MSSA) {
5923 if (MSSA)
5924 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA);
5974 MemorySSA *MSSA = nullptr;
5976 MSSA = &MSSAAnalysis->getMSSA();
5977 return ReduceLoopStrength(L, IU, SE, DT, LI, TTI, AC, TLI, MSSA);
5984 AR.DT, AR.LI, AR.TTI, AR.AC, AR.TLI, AR.MSSA))
5988 if (AR.MSSA)
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
LoopVersioning.cpp 357 MemorySSA *MSSA = EnableMSSALoopDependency
364 TLI, TTI, nullptr, MSSA};
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);
  /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/Analysis/
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...]

Completed in 89 milliseconds