/external/llvm/lib/Transforms/Utils/ |
D | MemorySSA.cpp | 71 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/ |
D | MemorySSA.cpp | 106 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 …]
|
D | MemorySSAUpdater.cpp | 575 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/ |
D | MemorySSA.cpp | 100 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 …]
|
D | MemorySSAUpdater.cpp | 549 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/ |
D | MemorySSA.rst | 2 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 …]
|
D | UserGuides.rst | 42 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/ |
D | MemorySSA.h | 154 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/ |
D | MemorySSATest.cpp | 49 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/ |
D | MemorySSA.h | 207 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 …]
|
D | MemorySSAUpdater.h | 72 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/ |
D | MemorySSA.h | 208 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 …]
|
D | MemorySSAUpdater.h | 58 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()
|
D | LoopAnalysisManager.h | 43 class MemorySSA; variable 61 MemorySSA *MSSA;
|
/external/llvm/unittests/Transforms/Utils/ |
D | MemorySSA.cpp | 45 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()
|
D | CMakeLists.txt | 13 MemorySSA.cpp
|
/external/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
D | MemCpyOptimizer.h | 35 class MemorySSA; variable 48 MemorySSA *MSSA = nullptr; 59 MemorySSA *MSSA);
|
/external/llvm-project/llvm/test/Analysis/MemorySSA/ |
D | debugvalue2.ll | 3 ; 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
|
D | pr40509.ll | 7 ; 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/ |
D | LoopSink.cpp | 246 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()
|
D | LoopInstSimplify.cpp | 80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst() 198 MemorySSA *MSSA = nullptr; in runOnLoop()
|
D | LICM.cpp | 172 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/ |
D | preserve_memoryssa.ll | 7 ; 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/ |
D | LoopUtils.h | 34 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/ |
D | LoopInstSimplify.cpp | 80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst() 198 MemorySSA *MSSA = nullptr; in runOnLoop()
|