Searched refs:MSSA (Results 1 - 21 of 21) sorted by relevance

/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DMemorySSAUpdater.cpp51 if (!MSSA->DT->isReachableFromEntry(BB))
52 return MSSA->getLiveOnEntryDef();
66 MemoryAccess *Result = MSSA->createMemoryPhi(BB);
81 if (MSSA->DT->isReachableFromEntry(Pred)) {
89 PhiOps.push_back(MSSA->getLiveOnEntryDef());
94 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB));
109 Phi = MSSA->createMemoryPhi(BB);
153 auto *Defs = MSSA->getWritableBlockDefs(MA->getBlock());
165 auto End = MSSA->getWritableBlockAccesses(MA->getBlock())->rend();
180 auto *Defs = MSSA
545 getNewDefiningAccessForClone(MemoryAccess *MA, const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap, bool CloneWasSimplified, MemorySSA *MSSA) argument
[all...]
H A DMemorySSA.cpp102 const MemorySSA *MSSA; member in class:llvm::MemorySSAAnnotatedWriter
105 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {}
109 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB))
115 if (MemoryAccess *MA = MSSA->getMemoryAccess(I))
393 /// \param MSSA The MemorySSA instance that Start and ClobberAt belong to.
401 const MemoryLocation &StartLoc, const MemorySSA &MSSA,
404 assert(MSSA.dominates(ClobberAt, Start) && "Clobber doesn't dominate start?");
406 if (MSSA.isLiveOnEntryDef(Start)) {
407 assert(MSSA.isLiveOnEntryDef(ClobberAt) &&
433 FoundClobber = FoundClobber || MSSA
400 checkClobberSanity(const MemoryAccess *Start, MemoryAccess *ClobberAt, const MemoryLocation &StartLoc, const MemorySSA &MSSA, const UpwardsMemoryQuery &Query, AliasAnalysisType &AA, bool AllowImpreciseClobber = false) argument
515 const MemorySSA &MSSA; member in class:__anon1641::ClobberWalker
926 ClobberWalker(const MemorySSA &MSSA, AliasAnalysisType &AA, DominatorTree &DT) argument
992 MemorySSA *MSSA; member in class:llvm::MemorySSA::ClobberWalkerBase
1277 OptimizeUses(MemorySSA *MSSA, CachingWalker<BatchAAResults> *Walker, BatchAAResults *BAA, DominatorTree *DT) argument
1306 MemorySSA *MSSA; member in class:llvm::MemorySSA::OptimizeUses
2240 auto &MSSA = getAnalysis<MemorySSAWrapperPass>().getMSSA(); local
[all...]
H A DAliasSetTracker.cpp546 assert(MSSA && L && "MSSA and L must be available");
548 if (auto *Accesses = MSSA->getBlockAccesses(BB))
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInstSimplify.cpp80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; local
85 MSSA->verifyMemorySSA();
139 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I))
140 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI))
159 MSSA->verifyMemorySSA();
198 MemorySSA *MSSA = nullptr; variable
201 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA();
202 MSSAU = MemorySSAUpdater(MSSA);
228 if (AR.MSSA) {
229 MSSAU = MemorySSAUpdater(AR.MSSA);
[all...]
H A DLoopRotation.cpp47 if (AR.MSSA)
48 MSSAU = MemorySSAUpdater(AR.MSSA);
56 if (AR.MSSA && VerifyMemorySSA)
57 AR.MSSA->verifyMemorySSA();
60 if (AR.MSSA)
H A DGVNHoist.cpp259 MemoryDependenceResults *MD, MemorySSA *MSSA)
260 : DT(DT), PDT(PDT), AA(AA), MD(MD), MSSA(MSSA),
261 MSSAUpdater(std::make_unique<MemorySSAUpdater>(MSSA)) {}
335 MemorySSA *MSSA; member in class:llvm::GVNHoist
387 const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB);
535 if (NewBB == DBB && !MSSA->isLiveOnEntryDef(D))
552 assert(MSSA->locallyDominates(D, U));
608 MemoryUseOrDef *UD = MSSA->getMemoryAccess(Insn);
920 // Update the uses of the old MSSA acces
258 GVNHoist(DominatorTree *DT, PostDominatorTree *PDT, AliasAnalysis *AA, MemoryDependenceResults *MD, MemorySSA *MSSA) argument
1161 auto &MSSA = getAnalysis<MemorySSAWrapperPass>().getMSSA(); variable
1187 MemorySSA &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA(); local
[all...]
H A DEarlyCSE.cpp487 MemorySSA *MSSA; member in class:__anon2669::EarlyCSE
566 AssumptionCache &AC, MemorySSA *MSSA)
567 : TLI(TLI), TTI(TTI), DT(DT), AC(AC), SQ(DL, &TLI, &DT, &AC), MSSA(MSSA),
568 MSSAUpdater(std::make_unique<MemorySSAUpdater>(MSSA)) {}
757 if (!MSSA)
760 MSSA->verifyMemorySSA();
797 if (!MSSA)
807 auto *EarlierMA = MSSA->getMemoryAccess(EarlierInst);
810 auto *LaterMA = MSSA
564 EarlyCSE(const DataLayout &DL, const TargetLibraryInfo &TLI, const TargetTransformInfo &TTI, DominatorTree &DT, AssumptionCache &AC, MemorySSA *MSSA) argument
1360 auto *MSSA = local
1405 auto *MSSA = variable
[all...]
H A DLICM.cpp130 cl::desc("[LICM & MemorySSA] When MSSA in LICM is disabled, this has no "
131 "effect. When MSSA in LICM is enabled, then this is the maximum "
155 static bool pointerInvalidatedByLoopWithMSSA(MemorySSA *MSSA, MemoryUse *MU,
174 ScalarEvolution *SE, MemorySSA *MSSA,
214 MemorySSA *MSSA = EnableMSSALoopDependency variable
229 SE ? &SE->getSE() : nullptr, MSSA, &ORE, false);
293 AR.MSSA, ORE, true))
300 if (AR.MSSA)
331 MemorySSA *MSSA, OptimizationRemarkEmitter *ORE, bool DeleteAST) {
347 if (!MSSA) {
328 runOnLoop( Loop *L, AliasAnalysis *AA, LoopInfo *LI, DominatorTree *DT, TargetLibraryInfo *TLI, TargetTransformInfo *TTI, ScalarEvolution *SE, MemorySSA *MSSA, OptimizationRemarkEmitter *ORE, bool DeleteAST) argument
2214 auto *MSSA = MSSAU->getMemorySSA(); local
2297 pointerInvalidatedByLoopWithMSSA(MemorySSA *MSSA, MemoryUse *MU, Loop *CurLoop, SinkAndHoistLICMFlags &Flags) argument
[all...]
H A DLoopUnswitch.cpp186 MemorySSA *MSSA = nullptr; member in class:__anon2722::LoopUnswitch
529 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA();
530 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA);
540 if (MSSA && VerifyMemorySSA)
541 MSSA->verifyMemorySSA();
546 if (MSSA && VerifyMemorySSA)
547 MSSA->verifyMemorySSA();
552 if (MSSA && VerifyMemorySSA)
553 MSSA->verifyMemorySSA();
1251 MSSA
[all...]
H A DLoopSimplifyCFG.cpp698 if (AR.MSSA)
699 MSSAU = MemorySSAUpdater(AR.MSSA);
710 if (AR.MSSA)
732 MemorySSA *MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); variable
733 MSSAU = MemorySSAUpdater(MSSA);
735 MSSA->verifyMemorySSA();
H A DSimpleLoopUnswitch.cpp479 // Temporarily clone the terminator, to make MSSA update cheaper by
891 if (MSSAU) // Possible early exit with MSSA
1982 // Get blocks in RPO order for MSSA update, before changing the CFG.
2060 // Keep a clone of the terminator for MSSA updates.
2166 // Perform MSSA cloning updates.
2806 /// The `MSSA` analysis is also updated if valid (i.e. its use is enabled).
2888 if (AR.MSSA) {
2889 MSSAU = MemorySSAUpdater(AR.MSSA);
2891 AR.MSSA->verifyMemorySSA();
2897 if (AR.MSSA
2952 MemorySSA *MSSA = nullptr; local
[all...]
H A DNewGVN.cpp496 MemorySSA *MSSA = nullptr;
659 TargetLibraryInfo *TLI, AliasAnalysis *AA, MemorySSA *MSSA,
661 : F(F), DT(DT), TLI(TLI), AA(AA), MSSA(MSSA), DL(DL),
907 auto *Result = MSSA->getMemoryAccess(I);
913 return MSSA->getMemoryAccess(BB);
1379 StoreRHS = MSSA->getLiveOnEntryDef();
1507 if (!MSSA->isLiveOnEntryDef(DefiningAccess)) {
1643 if (auto *MA = MSSA->getMemoryAccess(CI)) {
1646 } else // MSSA determine
[all...]
H A DLoopLoadElimination.cpp704 MemorySSA *MSSA = EnableMSSALoopDependency
711 LoopStandardAnalysisResults AR = {AA, AC, DT, LI, SE, TLI, TTI, MSSA};
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemorySSAUpdater.h72 MemorySSA *MSSA; member in class:llvm::MemorySSAUpdater
82 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} argument
236 if (MemoryAccess *MA = MSSA->getMemoryAccess(I))
260 MemorySSA* getMemorySSA() const { return MSSA; }
H A DLoopAnalysisManager.h61 MemorySSA *MSSA; member in struct:llvm::LoopStandardAnalysisResults
117 /// Mark MemorySSA as used so we can invalidate self if MSSA is invalidated.
H A DMemorySSA.h935 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {} argument
937 MemorySSA &getMSSA() { return *MSSA.get(); }
939 std::unique_ptr<MemorySSA> MSSA; member in struct:llvm::MemorySSAAnalysis::Result
972 MemorySSA &getMSSA() { return *MSSA; }
973 const MemorySSA &getMSSA() const { return *MSSA; }
981 std::unique_ptr<MemorySSA> MSSA; member in class:llvm::MemorySSAWrapperPass
1025 MemoryAccess *MA = MSSA->getMemoryAccess(I);
1056 friend class MemorySSA; // For updating MSSA pointe
1058 MemorySSA *MSSA; member in class:llvm::MemorySSAWalker
[all...]
H A DAliasSetTracker.h347 MemorySSA *MSSA = nullptr; member in class:llvm::AliasSetTracker
362 : AA(aa), MSSA(mssa), L(l) {}
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DInterleavedLoadCombinePass.cpp66 InterleavedLoadCombineImpl(Function &F, DominatorTree &DT, MemorySSA &MSSA, argument
68 : F(F), DT(DT), MSSA(MSSA),
84 MemorySSA &MSSA; member in struct:__anon1731::InterleavedLoadCombineImpl
1184 auto FMA = MSSA.getMemoryAccess(First);
1186 auto MADef = MSSA.getMemoryAccess(LI)->getDefiningAccess();
1187 if (!MSSA.dominates(MADef, FMA))
1225 auto MSSAU = MemorySSAUpdater(&MSSA);
1227 LI, nullptr, MSSA.getMemoryAccess(InsertionPoint)));
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DLoopPassManager.h298 MemorySSA *MSSA = UseMemorySSA
308 MSSA};
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp806 MemorySSA *MSSA = nullptr; local
811 MSSA = &MSSAAnalysis->getMSSA();
812 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA);
842 auto *MSSA = &MSSAAnalysis->getMSSA(); local
843 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp7972 MemorySSA *MSSA = EnableMSSALoopDependency
7979 LoopStandardAnalysisResults AR = {AA, AC, DT, LI, SE, TLI, TTI, MSSA};

Completed in 193 milliseconds