Home
last modified time | relevance | path

Searched refs:MemorySSA (Results 1 – 25 of 42) sorted by relevance

12

/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DMemorySSA.cpp107 friend class MemorySSA;
109 const MemorySSA *MSSA;
112 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter()
390 const MemoryLocation &StartLoc, const MemorySSA &MSSA, in checkClobberSanity()
510 const MemorySSA &MSSA;
938 ClobberWalker(const MemorySSA &MSSA, AliasAnalysisType &AA, DominatorTree &DT) in ClobberWalker()
1002 template <class AliasAnalysisType> class MemorySSA::ClobberWalkerBase {
1004 MemorySSA *MSSA;
1007 ClobberWalkerBase(MemorySSA *M, AliasAnalysisType *A, DominatorTree *D) in ClobberWalkerBase()
1026 class MemorySSA::CachingWalker final : public MemorySSAWalker {
[all …]
H A DMemorySSAUpdater.cpp573 MemorySSA *MSSA) { in getNewDefiningAccessForClone()
610 const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB); in cloneUsesAndDefs()
632 MSSA->insertIntoListsForBlock(NewUseOrDef, NewBB, MemorySSA::End); in cloneUsesAndDefs()
868 MemorySSA::DefsList *Defs = MSSA->getWritableBlockDefs(BB); in applyInsertUpdates()
1201 MemorySSA::InsertionPlace Where) { in moveToPlace()
1202 if (Where != MemorySSA::InsertionPlace::BeforeTerminator) in moveToPlace()
1208 return moveTo(What, BB, MemorySSA::InsertionPlace::End); in moveToPlace()
1215 MemorySSA::AccessList *Accs = MSSA->getWritableBlockAccesses(From); in moveAllAccesses()
1231 MSSA->moveTo(MUD, To, MemorySSA::End); in moveAllAccesses()
1279 MSSA->moveTo(Phi, New, MemorySSA::Beginning); in wireOldPredecessorsToNewImmediatePredecessor()
[all …]
H A DCMakeLists.txt95 MemorySSA.cpp
/netbsd-src/external/apache2/llvm/dist/llvm/docs/
H A DMemorySSA.rst2 MemorySSA title
11 ``MemorySSA`` is an analysis that allows us to cheaply reason about the
15 result in quadratic-time algorithms in LLVM. Additionally, ``MemorySSA`` doesn't
17 better results, too. One common use of ``MemorySSA`` is to quickly find out
21 At a high level, one of the goals of ``MemorySSA`` is to provide an SSA based
27 This document goes over how ``MemorySSA`` is structured, and some basic
28 intuition on how ``MemorySSA`` works.
30 A paper on MemorySSA (with notes about how it's implemented in GCC) `can be
34 GCC's, LLVM's MemorySSA is intraprocedural.
37 MemorySSA Structure
[all …]
H A DUserGuides.rst43 MemorySSA
134 :doc:`MemorySSA`
135 Information about the MemorySSA utility in LLVM, as well as how to use it.
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
H A DMemorySSA.h209 friend class MemorySSA; variable
284 friend class MemorySSA;
358 friend class MemorySSA;
381 friend class MemorySSA;
639 friend class MemorySSA;
704 class MemorySSA {
706 MemorySSA(Function &, AliasAnalysis *, DominatorTree *);
710 MemorySSA(MemorySSA &&) = delete;
712 ~MemorySSA();
932 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {}
[all …]
H A DMemorySSAUpdater.h58 MemorySSA *MSSA;
68 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} in MemorySSAUpdater()
133 MemorySSA::InsertionPlace Where);
194 MemorySSA::InsertionPlace Point);
249 MemorySSA* getMemorySSA() const { return MSSA; } in getMemorySSA()
H A DLoopAnalysisManager.h43 class MemorySSA; variable
61 MemorySSA *MSSA;
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h35 class MemorySSA; variable
123 Loop *L = nullptr, MemorySSA *MSSA = nullptr);
126 MemorySSA *MSSA = nullptr);
182 LoopInfo *LI, MemorySSA *MSSA = nullptr);
188 LoopInfo &LI, MemorySSA *MSSA);
523 MemorySSA &MSSA, AAResults &AA);
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/
H A DMemCpyOptimizer.h35 class MemorySSA; variable
48 MemorySSA *MSSA = nullptr;
59 MemorySSA *MSSA);
H A DGVN.h50 class MemorySSA; variable
260 OptimizationRemarkEmitter *ORE, MemorySSA *MSSA = nullptr);
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DLoopSink.cpp244 MSSAU->createMemoryAccessInBB(IC, nullptr, N, MemorySSA::Beginning); in sinkInstruction()
272 MSSAU->moveToPlace(OldMemAcc, MoveBB, MemorySSA::Beginning); in sinkInstruction()
284 MemorySSA *MSSA) { in sinkLoopInvariantInstructions()
361 MemorySSA *MSSA = EnableMSSAInLoopSink in run()
438 MemorySSA *MSSA = nullptr; in runOnLoop()
H A DLICM.cpp173 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 = EnableMSSALoopDependency in runOnLoop()
316 MemorySSA *MSSA) in SinkAndHoistLICMFlags()
322 Loop *L, MemorySSA *MSSA) in SinkAndHoistLICMFlags()
350 ScalarEvolution *SE, MemorySSA *MSSA, OptimizationRemarkEmitter *ORE) { in runOnLoop()
1172 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in canSinkOrHoistInst()
[all …]
H A DLoopDeletion.cpp143 LoopInfo &LI, MemorySSA *MSSA, in breakBackedgeIfNotTaken()
174 MemorySSA *MSSA, in deleteLoopIfDead()
322 MemorySSA *MSSA = nullptr; in runOnLoop()
H A DLoopInstSimplify.cpp80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst()
198 MemorySSA *MSSA = nullptr; in runOnLoop()
H A DGVNHoist.cpp262 MemoryDependenceResults *MD, MemorySSA *MSSA) in GVNHoist()
282 MemorySSA *MSSA;
634 const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB); in hasMemoryUse()
1051 MSSAUpdater->moveToPlace(NewMemAcc, DestBB, MemorySSA::BeforeTerminator); in removeAndReplace()
1238 MemorySSA &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA(); in run()
H A DDeadStoreElimination.cpp851 MemorySSA &MSSA;
878 DSEState(Function &F, AliasAnalysis &AA, MemorySSA &MSSA, DominatorTree &DT, in DSEState()
883 static DSEState get(Function &F, AliasAnalysis &AA, MemorySSA &MSSA, in get()
1839 bool eliminateDeadStores(Function &F, AliasAnalysis &AA, MemorySSA &MSSA, in eliminateDeadStores()
2015 MemorySSA &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA(); in run()
2054 MemorySSA &MSSA = getAnalysis<MemorySSAWrapperPass>().getMSSA(); in runOnFunction()
H A DLoopPassManager.cpp199 MemorySSA *MSSA = in run()
H A DLoopUnswitch.cpp194 MemorySSA *MSSA = nullptr;
1011 MemorySSA *MSSA = MSSAU->getMemorySSA(); in emitPreheaderBranchOnCondition()
1031 MemorySSA::BeforeTerminator); in emitPreheaderBranchOnCondition()
H A DMemCpyOptimizer.cpp356 static bool writtenBetween(MemorySSA *MSSA, MemoryLocation Loc, in writtenBetween()
1256 static bool hasUndefContentsMSSA(MemorySSA *MSSA, AliasAnalysis *AA, Value *V, in hasUndefContentsMSSA()
1737 MemorySSA *MSSA_) { in runImpl()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
H A DAMDGPUAnnotateUniformValues.cpp31 MemorySSA *MSSA;
/netbsd-src/external/apache2/llvm/lib/libLLVMAnalysis/
H A DMakefile82 MemorySSA.cpp \
/netbsd-src/external/apache2/llvm/dist/llvm/utils/gn/secondary/llvm/lib/Analysis/
H A DBUILD.gn89 "MemorySSA.cpp",
/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DInterleavedLoadCombinePass.cpp66 InterleavedLoadCombineImpl(Function &F, DominatorTree &DT, MemorySSA &MSSA, in InterleavedLoadCombineImpl()
84 MemorySSA &MSSA;
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DLoopVersioning.cpp357 MemorySSA *MSSA = EnableMSSALoopDependency in run()

12