Home
last modified time | relevance | path

Searched refs:MemoryPhi (Results 1 – 25 of 37) sorted by relevance

12

/external/swiftshader/third_party/llvm-7.0/llvm/lib/Analysis/
DMemorySSAUpdater.cpp78 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB)); in getPreviousDefRecursive()
171 if (MemoryPhi *UsePhi = dyn_cast<MemoryPhi>(&*U)) { in recursePhi()
185 MemoryAccess *MemorySSAUpdater::tryRemoveTrivialPhi(MemoryPhi *Phi, in tryRemoveTrivialPhi()
229 static void setMemoryPhiValueForBlock(MemoryPhi *MP, const BasicBlock *BB, in setMemoryPhiValueForBlock()
318 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MP); in insertDef()
337 if (MemoryPhi *Phi = dyn_cast<MemoryPhi>(NewDef)) in fixupDefs()
364 assert(!isa<MemoryPhi>(FirstDef) && in fixupDefs()
401 if (MemoryPhi *PhiUser = dyn_cast<MemoryPhi>(U)) in moveTo()
472 if (MemoryPhi *MPhi = MSSA->getMemoryAccess(Succ)) in moveAllAfterSpliceBlocks()
482 if (MemoryPhi *MPhi = MSSA->getMemoryAccess(Succ)) in moveAllAfterMergeBlocks()
[all …]
DMemorySSA.cpp433 assert(isa<MemoryPhi>(MA)); in checkClobberSanity()
440 assert((isa<MemoryPhi>(ClobberAt) || FoundClobber) && in checkClobberSanity()
481 const MemoryAccess *getWalkTarget(const MemoryPhi *From) const { in getWalkTarget()
529 assert(isa<MemoryPhi>(Desc.Last) && in walkToPhiOrClobber()
534 void addSearches(MemoryPhi *Phi, SmallVectorImpl<ListIndex> &PausedSearches, in addSearches()
616 addSearches(cast<MemoryPhi>(Res.Result), PausedSearches, PathIndex); in getBlockingAccess()
691 OptznResult tryOptimizePhi(MemoryPhi *Phi, MemoryAccess *Start, in tryOptimizePhi()
720 MemoryPhi *Current = Phi; in tryOptimizePhi()
827 auto *DefChainPhi = cast<MemoryPhi>(DefChainEnd); in tryOptimizePhi()
874 OptznResult OptRes = tryOptimizePhi(cast<MemoryPhi>(FirstDesc.Last), in findClobber()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/test/Analysis/MemorySSA/
Dphi-translation.ll23 ; CHECK: 3 = MemoryPhi({entry,1},{if.then,2})
48 ; CHECK: 7 = MemoryPhi({entry,1},{if.then,2})
55 ; CHECK: 5 = MemoryPhi({if.then,2},{phi.3,3})
64 ; CHECK: 6 = MemoryPhi({phi.2,4},{phi.3,3})
94 ; CHECK: 6 = MemoryPhi({a,2},{b,3})
101 ; CHECK: 7 = MemoryPhi({a,2},{b,3})
108 ; 8 = MemoryPhi({c,4},{d,5})
123 ; CHECK: 6 = MemoryPhi({%0,1},{loop.3,4})
130 ; CHECK: 5 = MemoryPhi({loop.1,2},{loop.3,4})
137 ; CHECK: 7 = MemoryPhi({loop.1,2},{loop.2,3})
[all …]
Dcyclicphi.ll14 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
28 ; CHECK: 2 = MemoryPhi({bb26,3},{bb68,1})
44 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
58 ; CHECK: 2 = MemoryPhi({bb26,3},{bb68,1})
74 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
88 ; CHECK: 2 = MemoryPhi({bb26,3},{bb68,1})
103 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
119 ; CHECK: 4 = MemoryPhi({bb26,3},{bb68,1})
134 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
150 ; CHECK: 2 = MemoryPhi({bb26,3},{bb68,1})
Dmany-dom-backedge.ll14 ; CHECK: 9 = MemoryPhi({entry,liveOnEntry},{sw.epilog,6})
44 ; CHECK: 10 = MemoryPhi({loopbegin,9},{sw.almostexit,6})
57 ; CHECK: 8 = MemoryPhi({sw.default,5},{sw.bb3,4},{sw.bb,1},{sw.bb1,2},{sw.bb2,3})
Dmulti-edges.ll16 ; CHECK: 4 = MemoryPhi({entry,1},{Loop.End,3})
23 ; CHECK: 3 = MemoryPhi({entry,1},{Loop.Body,2},{Loop.Body,2})
Dmany-doms.ll13 ; CHECK: 8 = MemoryPhi({entry,liveOnEntry},{sw.epilog,6})
55 ; CHECK: 7 = MemoryPhi({sw.default,5},{sw.bb,1},{sw.bb1,2},{sw.bb2,3},{sw.bb3,4})
Dmultiple-backedges-hal.ll45 ; CHECK: 5 = MemoryPhi({Entry,1},{InnerLoop.Tail,3})
55 ; CHECK: 4 = MemoryPhi({OuterLoop,2},{InnerLoop,3})
Dinvariant-groups.ll153 ; 5 = MemoryPhi({entry,3},{Loop.Body,4},{Loop.End,6})
169 ; 6 = MemoryPhi({entry,3},{Loop.Body,4})
200 ; CHECK: 8 = MemoryPhi({entry,3},{Loop.Body,4},{Loop.next,5},{Loop.End,6})
228 ; CHECK: 7 = MemoryPhi({entry,3},{Loop.next,5})
266 ; CHECK: 6 = MemoryPhi({Loop.Pre,3},{Loop.Body,4},{Loop.End,5})
281 ; CHECK: 5 = MemoryPhi({entry,3},{Loop.Body,4})
Dforward-unreachable.ll19 ; CHECK: 3 = MemoryPhi({split1,1},{split2,liveOnEntry},{forwardunreachable,liveOnEntry})
/external/llvm/test/Transforms/Util/MemorySSA/
Dphi-translation.ll23 ; CHECK: 3 = MemoryPhi({entry,1},{if.then,2})
48 ; CHECK: 6 = MemoryPhi({entry,1},{if.then,2})
55 ; CHECK: 5 = MemoryPhi({if.then,2},{phi.3,3})
64 ; CHECK: 7 = MemoryPhi({phi.2,4},{phi.3,3})
94 ; CHECK: 6 = MemoryPhi({a,2},{b,3})
101 ; CHECK: 7 = MemoryPhi({a,2},{b,3})
108 ; 8 = MemoryPhi({c,4},{d,5})
123 ; CHECK: 7 = MemoryPhi({%0,1},{loop.3,4})
130 ; CHECK: 6 = MemoryPhi({loop.1,2},{loop.3,4})
137 ; CHECK: 5 = MemoryPhi({loop.1,2},{loop.2,3})
[all …]
Dcyclicphi.ll14 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
28 ; CHECK: 2 = MemoryPhi({bb26,3},{bb68,1})
44 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
58 ; CHECK: 2 = MemoryPhi({bb26,3},{bb68,1})
74 ; CHECK: 4 = MemoryPhi({%0,liveOnEntry},{bb77,2})
90 ; CHECK: 3 = MemoryPhi({bb26,4},{bb68,1})
105 ; CHECK: 3 = MemoryPhi({%0,liveOnEntry},{bb77,2})
121 ; CHECK: 2 = MemoryPhi({bb26,3},{bb68,1})
Dlivein.ll13 ; CHECK-NOT: 2 = MemoryPhi
27 ; CHECK: 2 = MemoryPhi({left,1},{right,liveOnEntry})
48 ; CHECK: 4 = MemoryPhi({%0,1},{if.then,2})
Dmany-dom-backedge.ll14 ; CHECK: 9 = MemoryPhi({entry,liveOnEntry},{sw.epilog,6})
44 ; CHECK: 10 = MemoryPhi({loopbegin,9},{sw.almostexit,6})
57 ; CHECK: 8 = MemoryPhi({sw.default,5},{sw.bb3,4},{sw.bb,1},{sw.bb1,2},{sw.bb2,3})
Dmulti-edges.ll16 ; CHECK: 4 = MemoryPhi({entry,1},{Loop.End,3})
23 ; CHECK: 3 = MemoryPhi({entry,1},{Loop.Body,2},{Loop.Body,2})
Dmany-doms.ll13 ; CHECK: 8 = MemoryPhi({entry,liveOnEntry},{sw.epilog,6})
55 ; CHECK: 7 = MemoryPhi({sw.default,5},{sw.bb,1},{sw.bb1,2},{sw.bb2,3},{sw.bb3,4})
Dmultiple-backedges-hal.ll45 ; CHECK: 5 = MemoryPhi({Entry,1},{InnerLoop.Tail,3})
55 ; CHECK: 4 = MemoryPhi({OuterLoop,2},{InnerLoop,3})
Dforward-unreachable.ll19 ; CHECK: 3 = MemoryPhi({split1,1},{split2,liveOnEntry},{forwardunreachable,liveOnEntry})
/external/llvm/lib/Transforms/Utils/
DMemorySSA.cpp210 if (It == PerBlockAccesses.end() || !isa<MemoryPhi>(It->second->front())) in renameBlock()
213 auto *Phi = cast<MemoryPhi>(&Accesses->front()); in renameBlock()
272 if (It == PerBlockAccesses.end() || !isa<MemoryPhi>(It->second->front())) in markUnreachableAsLiveOnEntry()
275 auto *Phi = cast<MemoryPhi>(&Accesses->front()); in markUnreachableAsLiveOnEntry()
409 MemoryPhi *Phi = new MemoryPhi(BB->getContext(), BB, NextID++); in buildMemorySSA()
455 MemoryPhi *MemorySSA::createMemoryPhi(BasicBlock *BB) { in createMemoryPhi()
458 MemoryPhi *Phi = new MemoryPhi(BB->getContext(), BB, NextID++); in createMemoryPhi()
486 [](const MemoryAccess &MA) { return !isa<MemoryPhi>(MA); }); in createMemoryAccessInBB()
554 if (MemoryPhi *Phi = getMemoryAccess(UseBlock)) in findDominatingDef()
567 if (isa<MemoryDef>(RA) || isa<MemoryPhi>(RA)) in findDominatingDef()
[all …]
/external/llvm/include/llvm/Transforms/Utils/
DMemorySSA.h158 friend class MemoryPhi; variable
354 class MemoryPhi final : public MemoryAccess {
363 MemoryPhi(LLVMContext &C, BasicBlock *BB, unsigned Ver, unsigned NumPreds = 0)
452 static inline bool classof(const MemoryPhi *) { return true; }
487 template <> struct OperandTraits<MemoryPhi> : public HungoffOperandTraits<2> {};
488 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(MemoryPhi, MemoryAccess)
507 MemoryPhi *getMemoryAccess(const BasicBlock *BB) const;
538 MemoryPhi *createMemoryPhi(BasicBlock *BB);
790 MemoryPhi *MP = dyn_cast<MemoryPhi>(Access);
798 if (MemoryPhi *MP = dyn_cast<MemoryPhi>(Access))
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/docs/
DMemorySSA.rst44 - ``MemoryPhi``
48 ``MemoryPhi``\ s are ``PhiNode``\ s, but for memory operations. If at any
51 ``MemoryPhi``. As in LLVM IR, ``MemoryPhi``\ s don't correspond to any
52 concrete operation. As such, ``BasicBlock``\ s are mapped to ``MemoryPhi``\ s
99 ; 6 = MemoryPhi({%0,1},{if.end,4})
113 ; 5 = MemoryPhi({if.then,2},{if.else,3})
128 %p1`` in LLVM with ``%1``). Again, ``MemoryPhi``\ s don't correspond to any LLVM
129 Instruction, so the line directly below a ``MemoryPhi`` isn't special.
133 - ``6 = MemoryPhi({entry,1},{if.end,4})`` notes that, when entering
135 ``MemoryPhi`` is referred to in the textual IR by the number ``6``.
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/Analysis/
DMemorySSA.h203 friend class MemoryPhi; variable
459 class MemoryPhi final : public MemoryAccess {
467 MemoryPhi(LLVMContext &C, BasicBlock *BB, unsigned Ver, unsigned NumPreds = 0)
643 assert((isa<MemoryDef>(this) || isa<MemoryPhi>(this)) &&
647 return cast<MemoryPhi>(this)->getID();
676 template <> struct OperandTraits<MemoryPhi> : public HungoffOperandTraits<2> {};
677 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(MemoryPhi, MemoryAccess)
693 MemoryPhi *getMemoryAccess(const BasicBlock *BB) const;
818 MemoryPhi *createMemoryPhi(BasicBlock *BB);
1058 MemoryPhi *MP = dyn_cast<MemoryPhi>(Access);
[all …]
DMemorySSAUpdater.h69 SmallSet<AssertingVH<MemoryPhi>, 8> NonOptPhis;
221 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
/external/llvm/unittests/Transforms/Utils/
DMemorySSA.cpp96 MemoryPhi *MP = MSSA.createMemoryPhi(Merge); in TEST_F()
105 EXPECT_TRUE(isa<MemoryPhi>(DefiningAccess)); in TEST_F()
136 EXPECT_TRUE(isa<MemoryPhi>(DefiningAccess)); in TEST_F()
139 MemoryPhi *MP = cast<MemoryPhi>(DefiningAccess); in TEST_F()
182 EXPECT_TRUE(isa<MemoryPhi>(DefiningAccess)); in TEST_F()
/external/swiftshader/third_party/llvm-7.0/llvm/unittests/Analysis/
DMemorySSA.cpp99 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
106 EXPECT_TRUE(isa<MemoryPhi>(DefiningAccess)); in TEST_F()
145 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
177 MemoryPhi *MergePhi = in TEST_F()
178 dyn_cast<MemoryPhi>(SecondLoadAccess->getDefiningAccess()); in TEST_F()
193 MergePhi = dyn_cast<MemoryPhi>(SecondLoadAccess->getDefiningAccess()); in TEST_F()
235 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
243 EXPECT_TRUE(isa<MemoryPhi>(DefiningAccess)); in TEST_F()
363 EXPECT_TRUE(isa<MemoryPhi>(LoadAccess->getDefiningAccess())); in TEST_F()
364 MemoryPhi *MergePhi = cast<MemoryPhi>(LoadAccess->getDefiningAccess()); in TEST_F()
[all …]

12