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

1 2

  /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);

Completed in 37 milliseconds

1 2