Home
last modified time | relevance | path

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

1234

/external/llvm/lib/Transforms/Utils/
DMemorySSA.cpp71 friend class MemorySSA;
72 const MemorySSA *MSSA;
75 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter()
123 class MemorySSA::CachingWalker final : public MemorySSAWalker {
125 CachingWalker(MemorySSA *, AliasAnalysis *, DominatorTree *);
180 MemoryAccess *MemorySSA::renameBlock(BasicBlock *BB, in renameBlock()
224 void MemorySSA::renamePass(DomTreeNode *Root, MemoryAccess *IncomingVal, in renamePass()
250 void MemorySSA::computeDomLevels(DenseMap<DomTreeNode *, unsigned> &DomLevels) { in computeDomLevels()
259 void MemorySSA::markUnreachableAsLiveOnEntry(BasicBlock *BB) { in markUnreachableAsLiveOnEntry()
296 MemorySSA::MemorySSA(Function &Func, AliasAnalysis *AA, DominatorTree *DT) in MemorySSA() function in llvm::MemorySSA
[all …]
/external/llvm-project/llvm/lib/Analysis/
DMemorySSA.cpp106 friend class MemorySSA;
108 const MemorySSA *MSSA;
111 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter()
404 const MemoryLocation &StartLoc, const MemorySSA &MSSA, in checkClobberSanity()
524 const MemorySSA &MSSA;
952 ClobberWalker(const MemorySSA &MSSA, AliasAnalysisType &AA, DominatorTree &DT) in ClobberWalker()
1016 template <class AliasAnalysisType> class MemorySSA::ClobberWalkerBase {
1018 MemorySSA *MSSA;
1021 ClobberWalkerBase(MemorySSA *M, AliasAnalysisType *A, DominatorTree *D) in ClobberWalkerBase()
1040 class MemorySSA::CachingWalker final : public MemorySSAWalker {
[all …]
DMemorySSAUpdater.cpp575 MemorySSA *MSSA) { in getNewDefiningAccessForClone()
612 const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB); in cloneUsesAndDefs()
634 MSSA->insertIntoListsForBlock(NewUseOrDef, NewBB, MemorySSA::End); in cloneUsesAndDefs()
863 MemorySSA::DefsList *Defs = MSSA->getWritableBlockDefs(BB); in applyInsertUpdates()
1196 MemorySSA::InsertionPlace Where) { in moveToPlace()
1197 if (Where != MemorySSA::InsertionPlace::BeforeTerminator) in moveToPlace()
1203 return moveTo(What, BB, MemorySSA::InsertionPlace::End); in moveToPlace()
1210 MemorySSA::AccessList *Accs = MSSA->getWritableBlockAccesses(From); in moveAllAccesses()
1226 MSSA->moveTo(MUD, To, MemorySSA::End); in moveAllAccesses()
1274 MSSA->moveTo(Phi, New, MemorySSA::Beginning); in wireOldPredecessorsToNewImmediatePredecessor()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DMemorySSA.cpp100 friend class MemorySSA;
102 const MemorySSA *MSSA;
105 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter()
401 const MemoryLocation &StartLoc, const MemorySSA &MSSA, in checkClobberSanity()
515 const MemorySSA &MSSA;
926 ClobberWalker(const MemorySSA &MSSA, AliasAnalysisType &AA, DominatorTree &DT) in ClobberWalker()
990 template <class AliasAnalysisType> class MemorySSA::ClobberWalkerBase {
992 MemorySSA *MSSA;
995 ClobberWalkerBase(MemorySSA *M, AliasAnalysisType *A, DominatorTree *D) in ClobberWalkerBase()
1014 class MemorySSA::CachingWalker final : public MemorySSAWalker {
[all …]
DMemorySSAUpdater.cpp549 MemorySSA *MSSA) { in getNewDefiningAccessForClone()
586 const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB); in cloneUsesAndDefs()
608 MSSA->insertIntoListsForBlock(NewUseOrDef, NewBB, MemorySSA::End); in cloneUsesAndDefs()
825 MemorySSA::DefsList *Defs = MSSA->getWritableBlockDefs(BB); in applyInsertUpdates()
1161 MemorySSA::InsertionPlace Where) { in moveToPlace()
1162 if (Where != MemorySSA::InsertionPlace::BeforeTerminator) in moveToPlace()
1168 return moveTo(What, BB, MemorySSA::InsertionPlace::End); in moveToPlace()
1175 MemorySSA::AccessList *Accs = MSSA->getWritableBlockAccesses(From); in moveAllAccesses()
1191 MSSA->moveTo(MUD, To, MemorySSA::End); in moveAllAccesses()
1253 MSSA->moveTo(Phi, New, MemorySSA::Beginning); in wireOldPredecessorsToNewImmediatePredecessor()
[all …]
/external/llvm-project/llvm/docs/
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 …]
DUserGuides.rst42 MemorySSA
129 :doc:`MemorySSA`
130 Information about the MemorySSA utility in LLVM, as well as how to use it.
/external/llvm/include/llvm/Transforms/Utils/
DMemorySSA.h154 friend class MemorySSA;
223 friend class MemorySSA;
267 friend class MemorySSA;
308 friend class MemorySSA;
460 friend class MemorySSA;
494 class MemorySSA {
496 MemorySSA(Function &, AliasAnalysis *, DominatorTree *);
497 MemorySSA(MemorySSA &&);
498 ~MemorySSA();
647 typedef MemorySSA Result;
[all …]
/external/llvm-project/llvm/unittests/Analysis/
DMemorySSATest.cpp49 std::unique_ptr<MemorySSA> MSSA;
56 MSSA = std::make_unique<MemorySSA>(*Test.F, &AA, &DT); in TestAnalyses()
93 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F()
105 LoadInst, MP, Merge, MemorySSA::Beginning)); in TEST_F()
132 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F()
138 EntryStore, nullptr, Entry, MemorySSA::Beginning); in TEST_F()
151 FirstLoad, nullptr, Merge, MemorySSA::Beginning)); in TEST_F()
162 LeftStore, nullptr, Left, MemorySSA::Beginning); in TEST_F()
175 SecondLoad, nullptr, Merge, MemorySSA::Beginning)); in TEST_F()
187 SecondEntryStore, nullptr, Entry, MemorySSA::End); in TEST_F()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DMemorySSA.h207 friend class MemorySSA; variable
282 friend class MemorySSA;
355 friend class MemorySSA;
378 friend class MemorySSA;
639 friend class MemorySSA;
704 class MemorySSA {
706 MemorySSA(Function &, AliasAnalysis *, DominatorTree *);
710 MemorySSA(MemorySSA &&) = delete;
712 ~MemorySSA();
935 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {}
[all …]
DMemorySSAUpdater.h72 MemorySSA *MSSA;
82 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} in MemorySSAUpdater()
144 MemorySSA::InsertionPlace Where);
205 MemorySSA::InsertionPlace Point);
260 MemorySSA* getMemorySSA() const { return MSSA; } in getMemorySSA()
/external/llvm-project/llvm/include/llvm/Analysis/
DMemorySSA.h208 friend class MemorySSA; variable
283 friend class MemorySSA;
356 friend class MemorySSA;
379 friend class MemorySSA;
637 friend class MemorySSA;
702 class MemorySSA {
704 MemorySSA(Function &, AliasAnalysis *, DominatorTree *);
708 MemorySSA(MemorySSA &&) = delete;
710 ~MemorySSA();
932 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {}
[all …]
DMemorySSAUpdater.h58 MemorySSA *MSSA;
68 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} in MemorySSAUpdater()
130 MemorySSA::InsertionPlace Where);
191 MemorySSA::InsertionPlace Point);
246 MemorySSA* getMemorySSA() const { return MSSA; } in getMemorySSA()
DLoopAnalysisManager.h43 class MemorySSA; variable
61 MemorySSA *MSSA;
/external/llvm/unittests/Transforms/Utils/
DMemorySSA.cpp45 MemorySSA MSSA;
88 MemorySSA &MSSA = Analyses->MSSA; in TEST_F()
103 MSSA.createMemoryAccessInBB(LoadInst, MP, Merge, MemorySSA::Beginning)); in TEST_F()
131 MemorySSA &MSSA = Analyses->MSSA; in TEST_F()
174 MemorySSA &MSSA = Analyses->MSSA; in TEST_F()
233 MemorySSA &MSSA = Analyses->MSSA; in TEST_F()
264 MemorySSA &MSSA = Analyses->MSSA; in TEST_F()
293 MemorySSA &MSSA = Analyses->MSSA; in TEST_F()
DCMakeLists.txt13 MemorySSA.cpp
/external/llvm-project/llvm/include/llvm/Transforms/Scalar/
DMemCpyOptimizer.h35 class MemorySSA; variable
48 MemorySSA *MSSA = nullptr;
59 MemorySSA *MSSA);
/external/llvm-project/llvm/test/Analysis/MemorySSA/
Ddebugvalue2.ll3 ; Note that the test crashes the MemorySSA verification when doing loop-rotate,
4 ; if debuginfo is modelled in MemorySSA, due to the fact that MemorySSA is not
Dpr40509.ll7 ; This leads MemorySSA to finding a new (false) clobber for a previously
9 ; transformation will cause MemorySSA verification to fail.
/external/llvm-project/llvm/lib/Transforms/Scalar/
DLoopSink.cpp246 MSSAU->createMemoryAccessInBB(IC, nullptr, N, MemorySSA::Beginning); in sinkInstruction()
274 MSSAU->moveToPlace(OldMemAcc, MoveBB, MemorySSA::Beginning); in sinkInstruction()
286 MemorySSA *MSSA) { in sinkLoopInvariantInstructions()
363 MemorySSA *MSSA = EnableMSSAInLoopSink in run()
440 MemorySSA *MSSA = nullptr; in runOnLoop()
DLoopInstSimplify.cpp80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst()
198 MemorySSA *MSSA = nullptr; in runOnLoop()
DLICM.cpp172 static bool pointerInvalidatedByLoopWithMSSA(MemorySSA *MSSA, MemoryUse *MU,
175 static bool pointerInvalidatedByBlockWithMSSA(BasicBlock &BB, MemorySSA &MSSA,
192 TargetTransformInfo *TTI, ScalarEvolution *SE, MemorySSA *MSSA,
225 MemorySSA *MSSA = EnableMSSALoopDependency in runOnLoop()
310 MemorySSA *MSSA) in SinkAndHoistLICMFlags()
316 Loop *L, MemorySSA *MSSA) in SinkAndHoistLICMFlags()
344 ScalarEvolution *SE, MemorySSA *MSSA, OptimizationRemarkEmitter *ORE) { in runOnLoop()
1138 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in canSinkOrHoistInst()
1455 New, nullptr, New->getParent(), MemorySSA::Beginning); in cloneInstructionInExitBlock()
1509 MemorySSA::BeforeTerminator); in moveInstructionBefore()
[all …]
/external/llvm-project/llvm/test/Transforms/EarlyCSE/X86/
Dpreserve_memoryssa.ll7 ; Tests below highlight scenarios where EarlyCSE does not preserve MemorySSA
8 ; optimized accesses. Current MemorySSA verify will accept these.
57 ; MemorySSA from being tripped by AA (see test4).
84 ; The only fail-safe way to actually preserve MemorySSA when removing or
85 ; replacing instructions (i.e. get the *same* MemorySSA as if it was computed
88 ; optimized further if we were to re-run MemorySSA on the IR.
/external/llvm-project/llvm/include/llvm/Transforms/Utils/
DLoopUtils.h34 class MemorySSA; variable
121 Loop *L = nullptr, MemorySSA *MSSA = nullptr);
124 MemorySSA *MSSA = nullptr);
180 LoopInfo *LI, MemorySSA *MSSA = nullptr);
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DLoopInstSimplify.cpp80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst()
198 MemorySSA *MSSA = nullptr; in runOnLoop()

1234