Home
last modified time | relevance | path

Searched refs:DT (Results 1 – 25 of 243) sorted by relevance

12345678910

/external/llvm/unittests/IR/
DDominatorTreeTest.cpp30 DominatorTree *DT = in runOnFunction() local
60 EXPECT_TRUE(DT->isReachableFromEntry(BB0)); in runOnFunction()
61 EXPECT_TRUE(DT->isReachableFromEntry(BB1)); in runOnFunction()
62 EXPECT_TRUE(DT->isReachableFromEntry(BB2)); in runOnFunction()
63 EXPECT_FALSE(DT->isReachableFromEntry(BB3)); in runOnFunction()
64 EXPECT_TRUE(DT->isReachableFromEntry(BB4)); in runOnFunction()
67 EXPECT_TRUE(DT->dominates(BB0, BB0)); in runOnFunction()
68 EXPECT_TRUE(DT->dominates(BB0, BB1)); in runOnFunction()
69 EXPECT_TRUE(DT->dominates(BB0, BB2)); in runOnFunction()
70 EXPECT_TRUE(DT->dominates(BB0, BB3)); in runOnFunction()
[all …]
/external/llvm/include/llvm/Support/
DGenericDomTreeConstruction.h34 unsigned DFSPass(DominatorTreeBase<typename GraphT::NodeType>& DT, in DFSPass() argument
40 InfoRec &VInfo = DT.Info[DT.Roots[i]]; in DFSPass()
47 InfoRec &SuccVInfo = DT.Info[*SI]; in DFSPass()
50 N = DTDFSPass(DT, *SI, N); in DFSPass()
64 DT.Info[BB]; in DFSPass()
71 DT.Vertex.push_back(BB); // Vertex[n] = V; in DFSPass()
96 DT.Info[Succ]; in DFSPass()
108 Eval(DominatorTreeBase<typename GraphT::NodeType>& DT, in Eval() argument
111 DT.Info[VIn]; in Eval()
124 DT.Info[V]; in Eval()
[all …]
/external/clang/include/clang/Analysis/Analyses/
DDominators.h41 llvm::DominatorTreeBase<CFGBlock>* DT;
44 DT = new llvm::DominatorTreeBase<CFGBlock>(false); in DominatorTree()
47 ~DominatorTree() override { delete DT; } in ~DominatorTree() local
49 llvm::DominatorTreeBase<CFGBlock>& getBase() { return *DT; } in getBase()
54 return DT->getRoot(); in getRoot()
60 return DT->getRootNode(); in getRootNode()
74 if (DT->compare(Other.getBase())) in compare()
85 DT->recalculate(*cfg); in buildDominatorTree()
95 if(DT->getNode(*I)->getIDom()) in dump()
98 << DT->getNode(*I)->getIDom()->getBlock()->getBlockID() in dump()
[all …]
/external/llvm/include/llvm/Analysis/
DPostDominators.h26 DominatorTreeBase<BasicBlock>* DT; member
30 DT = new DominatorTreeBase<BasicBlock>(true); in PostDominatorTree()
42 return DT->getRoots(); in getRoots()
46 return DT->getRootNode(); in getRootNode()
50 return DT->getNode(BB);
54 return DT->getNode(BB); in getNode()
58 return DT->dominates(A, B); in dominates()
62 return DT->dominates(A, B); in dominates()
66 return DT->properlyDominates(A, B); in properlyDominates()
70 return DT->properlyDominates(A, B); in properlyDominates()
[all …]
DInstructionSimplify.h54 const DominatorTree *DT = nullptr,
63 const DominatorTree *DT = nullptr,
72 const DominatorTree *DT = nullptr,
81 const DominatorTree *DT = nullptr,
90 const DominatorTree *DT = nullptr,
98 const DominatorTree *DT = nullptr,
106 const DominatorTree *DT = nullptr,
114 const DominatorTree *DT = nullptr,
123 const DominatorTree *DT = nullptr,
131 const DominatorTree *DT = nullptr,
[all …]
DValueTracking.h44 const DominatorTree *DT = nullptr);
56 const DominatorTree *DT = nullptr);
67 const DominatorTree *DT = nullptr);
76 const DominatorTree *DT = nullptr);
90 const DominatorTree *DT = nullptr);
103 const DominatorTree *DT = nullptr);
218 const DominatorTree *DT = nullptr);
225 const DominatorTree *DT);
230 const DominatorTree *DT);
/external/llvm/include/llvm/CodeGen/
DMachineDominators.h71 DominatorTreeBase<MachineBasicBlock>* DT; variable
79 return *DT; in getBase()
90 return DT->getRoots(); in getRoots()
95 return DT->getRoot(); in getRoot()
100 return DT->getRootNode(); in getRootNode()
108 return DT->dominates(A, B); in dominates()
114 return DT->dominates(A, B); in dominates()
122 if (BBA != BBB) return DT->dominates(BBA, BBB); in dominates()
141 return DT->properlyDominates(A, B); in properlyDominates()
147 return DT->properlyDominates(A, B); in properlyDominates()
[all …]
DMachinePostDominators.h29 DominatorTreeBase<MachineBasicBlock> *DT;
41 return DT->getRoots(); in getRoots()
45 return DT->getRootNode(); in getRootNode()
49 return DT->getNode(BB);
53 return DT->getNode(BB); in getNode()
58 return DT->dominates(A, B); in dominates()
62 return DT->dominates(A, B); in dominates()
67 return DT->properlyDominates(A, B); in properlyDominates()
72 return DT->properlyDominates(A, B); in properlyDominates()
77 return DT->findNearestCommonDominator(A, B); in findNearestCommonDominator()
/external/llvm/lib/CodeGen/
DMachineDominators.cpp41 DT->recalculate(F); in runOnMachineFunction()
49 DT = new DominatorTreeBase<MachineBasicBlock>(false); in MachineDominatorTree()
53 delete DT; in ~MachineDominatorTree()
57 DT->releaseMemory(); in releaseMemory()
61 DT->print(OS); in print()
81 MachineDomTreeNode *SuccDTNode = DT->getNode(Succ); in applySplitCriticalEdges()
104 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges()
116 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB); in applySplitCriticalEdges()
122 DT->changeImmediateDominator(DT->getNode(Edge.ToBB), NewDTNode); in applySplitCriticalEdges()
DMachineRegionInfo.cpp26 MachineDominatorTree *DT, MachineRegion *Parent) : in MachineRegion() argument
27 RegionBase<RegionTraits<MachineFunction>>(Entry, Exit, RI, DT, Parent) { in MachineRegion()
58 DT = DT_; in recalculate()
64 TopLevelRegion = new MachineRegion(Entry, nullptr, this, DT, nullptr); in recalculate()
84 auto DT = &getAnalysis<MachineDominatorTree>(); in runOnMachineFunction() local
88 RI.recalculate(F, DT, PDT, DF); in runOnMachineFunction()
/external/llvm/lib/Transforms/Utils/
DLCSSA.cpp62 static bool processInstruction(Loop &L, Instruction &Inst, DominatorTree &DT, in processInstruction() argument
94 DomTreeNode *DomNode = DT.getNode(DomBB); in processInstruction()
108 if (!DT.dominates(DomNode, DT.getNode(ExitBB))) in processInstruction()
189 processInstruction(*OtherLoop, *I, DT, EBs, PredCache, LI); in processInstruction()
205 DominatorTree &DT, in blockDominatesAnExit() argument
207 DomTreeNode *DomNode = DT.getNode(BB); in blockDominatesAnExit()
209 if (DT.dominates(DomNode, DT.getNode(ExitBlocks[i]))) in blockDominatesAnExit()
215 bool llvm::formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSA() argument
237 if (!blockDominatesAnExit(BB, DT, ExitBlocks)) in formLCSSA()
248 Changed |= processInstruction(L, *I, DT, ExitBlocks, PredCache, LI); in formLCSSA()
[all …]
DBreakCriticalEdges.cpp46 auto *DT = DTWP ? &DTWP->getDomTree() : nullptr; in runOnFunction() local
50 SplitAllCriticalEdges(F, CriticalEdgeSplittingOptions(DT, LI)); in runOnFunction()
201 auto *DT = Options.DT; in SplitCriticalEdge() local
203 if (!DT && !LI) in SplitCriticalEdge()
231 if (DT) { in SplitCriticalEdge()
232 DomTreeNode *TINode = DT->getNode(TIBB); in SplitCriticalEdge()
238 DomTreeNode *NewBBNode = DT->addNewBlock(NewBB, TIBB); in SplitCriticalEdge()
243 DestBBNode = DT->getNode(DestBB); in SplitCriticalEdge()
245 if (DomTreeNode *OPNode = DT->getNode(OtherPreds.back())) in SplitCriticalEdge()
246 NewBBDominatesDestBB = DT->dominates(DestBBNode, OPNode); in SplitCriticalEdge()
[all …]
DBasicBlockUtils.cpp110 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT, in MergeBlockIntoPredecessor() argument
165 if (DT) in MergeBlockIntoPredecessor()
166 if (DomTreeNode *DTN = DT->getNode(BB)) { in MergeBlockIntoPredecessor()
167 DomTreeNode *PredDTN = DT->getNode(PredBB); in MergeBlockIntoPredecessor()
172 DT->changeImmediateDominator(*DI, PredDTN); in MergeBlockIntoPredecessor()
174 DT->eraseNode(BB); in MergeBlockIntoPredecessor()
234 BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, in SplitEdge() argument
240 if (SplitCriticalEdge(LatchTerm, SuccNum, CriticalEdgeSplittingOptions(DT, LI) in SplitEdge()
251 return SplitBlock(Succ, Succ->begin(), DT, LI); in SplitEdge()
258 return SplitBlock(BB, BB->getTerminator(), DT, LI); in SplitEdge()
[all …]
DLoopSimplify.cpp121 auto *DT = DTWP ? &DTWP->getDomTree() : nullptr; in InsertPreheaderForLoop() local
145 AA, DT, LI, PreserveLCSSA); in InsertPreheaderForLoop()
164 AliasAnalysis *AA, DominatorTree *DT, in rewriteLoopExitBlock() argument
182 NewExitBB = SplitBlockPredecessors(Exit, LoopBlocks, ".loopexit", AA, DT, in rewriteLoopExitBlock()
212 DominatorTree *DT, in findPHIToPartitionLoops() argument
218 if (Value *V = SimplifyInstruction(PN, DL, nullptr, DT, AC)) { in findPHIToPartitionLoops()
256 AliasAnalysis *AA, DominatorTree *DT, in separateNestedLoop() argument
267 PHINode *PN = findPHIToPartitionLoops(L, AA, DT, AC); in separateNestedLoop()
295 AA, DT, LI, PreserveLCSSA); in separateNestedLoop()
326 if (DT->dominates(Header, P)) in separateNestedLoop()
[all …]
/external/llvm/include/llvm/Transforms/Utils/
DBasicBlockUtils.h55 bool MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT = nullptr,
84 DominatorTree *DT; member
91 : AA(nullptr), DT(nullptr), LI(nullptr), MergeIdenticalEdges(false), in CriticalEdgeSplittingOptions()
95 CriticalEdgeSplittingOptions(AliasAnalysis *AA, DominatorTree *DT = nullptr,
97 : AA(AA), DT(DT), LI(LI), MergeIdenticalEdges(false), in AA()
102 CriticalEdgeSplittingOptions(DominatorTree *DT, LoopInfo *LI) in CriticalEdgeSplittingOptions()
103 : AA(nullptr), DT(DT), LI(LI), MergeIdenticalEdges(false), in CriticalEdgeSplittingOptions()
195 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr);
203 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr);
224 DominatorTree *DT = nullptr,
[all …]
/external/llvm/lib/Analysis/
DPHITransAddr.cpp147 const DominatorTree *DT) { in PHITranslateSubExpr() argument
191 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr()
209 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr()
220 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); in PHITranslateSubExpr()
231 if (Value *V = SimplifyGEPInst(GEPOps, DL, TLI, DT, AC)) { in PHITranslateSubExpr()
245 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr()
267 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr()
286 if (Value *Res = SimplifyAddInst(LHS, RHS, isNSW, isNUW, DL, TLI, DT, AC)) { in PHITranslateSubExpr()
303 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr()
320 const DominatorTree *DT) { in PHITranslateValue() argument
[all …]
DCaptureTracking.cpp60 CapturesBefore(bool ReturnCaptures, const Instruction *I, DominatorTree *DT, in CapturesBefore()
62 : BeforeHere(I), DT(DT), ReturnCaptures(ReturnCaptures), in CapturesBefore()
75 if (BeforeHere != I && !DT->isReachableFromEntry(BB)) in shouldExplore()
80 if (BeforeHere != I && DT->dominates(BeforeHere, I) && in shouldExplore()
81 !isPotentiallyReachable(I, BeforeHere, DT)) in shouldExplore()
96 if (BeforeHere != I && !DT->isReachableFromEntry(BB)) in captured()
98 if (BeforeHere != I && DT->dominates(BeforeHere, I) && in captured()
99 !isPotentiallyReachable(I, BeforeHere, DT)) in captured()
106 DominatorTree *DT; member
149 DominatorTree *DT, bool IncludeI) { in PointerMayBeCapturedBefore() argument
[all …]
DCFG.cpp131 const DominatorTree *DT, in isPotentiallyReachableInner() argument
135 if (DT && !DT->isReachableFromEntry(StopBB)) in isPotentiallyReachableInner()
136 DT = nullptr; in isPotentiallyReachableInner()
148 if (DT && DT->dominates(BB, StopBB)) in isPotentiallyReachableInner()
175 const DominatorTree *DT, const LoopInfo *LI) { in isPotentiallyReachable() argument
183 DT, LI); in isPotentiallyReachable()
187 const DominatorTree *DT, const LoopInfo *LI) { in isPotentiallyReachable() argument
235 DT, LI); in isPotentiallyReachable()
DInstructionSimplify.cpp50 const DominatorTree *DT; member
57 : DL(DL), TLI(tli), DT(dt), AC(ac), CxtI(cxti) {} in Query()
103 static bool ValueDominatesPHI(Value *V, PHINode *P, const DominatorTree *DT) { in ValueDominatesPHI() argument
116 if (DT) { in ValueDominatesPHI()
117 if (!DT->isReachableFromEntry(P->getParent())) in ValueDominatesPHI()
119 if (!DT->isReachableFromEntry(I->getParent())) in ValueDominatesPHI()
121 return DT->dominates(I, P); in ValueDominatesPHI()
460 if (!ValueDominatesPHI(RHS, PI, Q.DT)) in ThreadBinOpOverPHI()
466 if (!ValueDominatesPHI(LHS, PI, Q.DT)) in ThreadBinOpOverPHI()
508 if (!ValueDominatesPHI(RHS, PI, Q.DT)) in ThreadCmpOverPHI()
[all …]
DRegionInfo.cpp66 DominatorTree *DT, Region *Parent) : in Region() argument
67 RegionBase<RegionTraits<Function>>(Entry, Exit, RI, DT, Parent) { in Region()
96 DT = DT_; in recalculate()
101 this, DT, nullptr); in recalculate()
121 auto DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree(); in runOnFunction() local
125 RI.recalculate(F, DT, PDT, DF); in runOnFunction()
/external/llvm/lib/Transforms/Scalar/
DLICM.cpp77 static bool sink(Instruction &I, LoopInfo *LI, DominatorTree *DT,
79 static bool isGuaranteedToExecute(Instruction &Inst, DominatorTree *DT,
81 static bool isSafeToExecuteUnconditionally(Instruction &Inst, DominatorTree *DT,
91 DominatorTree *DT, Loop *CurLoop,
131 DominatorTree *DT; // Dominator Tree for the current Loop. member
181 DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree(); in runOnLoop()
185 assert(L->isLCSSAForm(*DT) && "Loop is not in LCSSA form."); in runOnLoop()
235 Changed |= sinkRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, CurLoop, in runOnLoop()
238 Changed |= hoistRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, in runOnLoop()
252 PIC, LI, DT, CurLoop, in runOnLoop()
[all …]
DLoopRotation.cpp80 DominatorTree *DT; member in __anon04536f5f0111::LoopRotate
112 DT = DTWP ? &DTWP->getDomTree() : nullptr; in runOnLoop()
314 if (DT) in simplifyLoopLatch()
315 DT->eraseNode(Latch); in simplifyLoopLatch()
502 if (DT) { in rotateLoop()
507 DomTreeNode *OrigHeaderNode = DT->getNode(OrigHeader); in rotateLoop()
510 DomTreeNode *OrigPreheaderNode = DT->getNode(OrigPreheader); in rotateLoop()
512 DT->changeImmediateDominator(HeaderChildren[I], OrigPreheaderNode); in rotateLoop()
514 assert(DT->getNode(Exit)->getIDom() == OrigPreheaderNode); in rotateLoop()
515 assert(DT->getNode(NewHeader)->getIDom() == OrigPreheaderNode); in rotateLoop()
[all …]
DPlaceSafepoints.cpp177 InsertSafepointPoll(DominatorTree &DT, Instruction *after,
204 DominatorTree &DT) { in containsUnconditionalCallSafepoint() argument
215 assert(DT.dominates(Header, Pred) && "loop latch not dominated by header?"); in containsUnconditionalCallSafepoint()
233 Current = DT.getNode(Current)->getIDom()->getBlock(); in containsUnconditionalCallSafepoint()
328 DominatorTree DT; in runOnLoop() local
329 DT.recalculate(*header->getParent()); in runOnLoop()
349 containsUnconditionalCallSafepoint(L, header, pred, DT)) { in runOnLoop()
385 DominatorTree &DT) { in findLocationForEntrySafepoint() argument
450 DT.recalculate(F); in findLocationForEntrySafepoint()
453 DT.verifyDomTree(); in findLocationForEntrySafepoint()
[all …]
/external/clang/lib/Lex/
DPPExpressions.cpp82 static bool EvaluateDefined(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateDefined() argument
156 DT.State = DefinedTracker::DefinedMacro; in EvaluateDefined()
157 DT.TheMacro = II; in EvaluateDefined()
169 static bool EvaluateValue(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateValue() argument
171 DT.State = DefinedTracker::Unknown; in EvaluateValue()
186 return(EvaluateDefined(Result, PeekTok, DT, ValueLive, PP)); in EvaluateValue()
336 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
353 DT.State = DefinedTracker::Unknown; in EvaluateValue()
363 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
370 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
[all …]
/external/llvm/include/llvm/IR/
DDominators.h44 DominatorTreeBase<GraphTraits<BasicBlock *>::NodeType> &DT LLVM_COMMA
48 DominatorTreeBase<GraphTraits<Inverse<BasicBlock *> >::NodeType> &DT
156 static NodeType *getEntryNode(DominatorTree *DT) {
157 return DT->getRootNode();
208 DominatorTree DT;
217 DominatorTree &getDomTree() { return DT; }
218 const DominatorTree &getDomTree() const { return DT; }
228 void releaseMemory() override { DT.releaseMemory(); }

12345678910