/external/llvm/unittests/IR/ |
D | DominatorTreeTest.cpp | 30 DominatorTree *DT = in runOnFunction() local 61 EXPECT_TRUE(DT->isReachableFromEntry(BB0)); in runOnFunction() 62 EXPECT_TRUE(DT->isReachableFromEntry(BB1)); in runOnFunction() 63 EXPECT_TRUE(DT->isReachableFromEntry(BB2)); in runOnFunction() 64 EXPECT_FALSE(DT->isReachableFromEntry(BB3)); in runOnFunction() 65 EXPECT_TRUE(DT->isReachableFromEntry(BB4)); in runOnFunction() 68 EXPECT_TRUE(DT->dominates(BB0, BB0)); in runOnFunction() 69 EXPECT_TRUE(DT->dominates(BB0, BB1)); in runOnFunction() 70 EXPECT_TRUE(DT->dominates(BB0, BB2)); in runOnFunction() 71 EXPECT_TRUE(DT->dominates(BB0, BB3)); in runOnFunction() [all …]
|
/external/llvm/include/llvm/Support/ |
D | GenericDomTreeConstruction.h | 33 unsigned DFSPass(DominatorTreeBase<typename GraphT::NodeType>& DT, in DFSPass() argument 39 InfoRec &VInfo = DT.Info[DT.Roots[i]]; in DFSPass() 46 InfoRec &SuccVInfo = DT.Info[*SI]; in DFSPass() 49 N = DTDFSPass(DT, *SI, N); in DFSPass() 63 DT.Info[BB]; in DFSPass() 70 DT.Vertex.push_back(BB); // Vertex[n] = V; in DFSPass() 95 DT.Info[Succ]; in DFSPass() 107 Eval(DominatorTreeBase<typename GraphT::NodeType> &DT, in Eval() argument 110 DT.Info[VIn]; in Eval() 123 DT.Info[V]; in Eval() [all …]
|
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/ |
D | DominatorInternals.h | 34 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 …]
|
D | InstructionSimplify.h | 33 const TargetData *TD = 0, const DominatorTree *DT = 0); 38 const TargetData *TD = 0, const DominatorTree *DT = 0); 43 const DominatorTree *DT = 0); 48 const DominatorTree *DT = 0); 53 const DominatorTree *DT = 0); 58 const DominatorTree *DT = 0); 63 const DominatorTree *DT = 0); 68 const DominatorTree *DT = 0); 73 const DominatorTree *DT = 0); 78 const TargetData *TD = 0, const DominatorTree *DT = 0); [all …]
|
D | PostDominators.h | 26 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 …]
|
D | Dominators.h | 183 void Calculate(DominatorTreeBase<typename GraphTraits<N>::NodeType>& DT, 227 void Split(DominatorTreeBase<typename GraphT::NodeType>& DT, in Split() argument 248 if (ND != NewBB && !DT.dominates(NewBBSucc, ND) && in Split() 249 DT.isReachableFromEntry(ND)) { in Split() 260 if (DT.isReachableFromEntry(PredBlocks[i])) { in Split() 272 if (DT.isReachableFromEntry(PredBlocks[i])) in Split() 273 NewBBIDom = DT.findNearestCommonDominator(NewBBIDom, PredBlocks[i]); in Split() 277 DomTreeNodeBase<NodeT> *NewBBNode = DT.addNewBlock(NewBB, NewBBIDom); in Split() 282 DomTreeNodeBase<NodeT> *NewBBSuccNode = DT.getNode(NewBBSucc); in Split() 283 DT.changeImmediateDominator(NewBBSuccNode, NewBBNode); in Split() [all …]
|
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/ |
D | MachineDominators.h | 43 DominatorTreeBase<MachineBasicBlock>* DT; variable 49 DominatorTreeBase<MachineBasicBlock>& getBase() { return *DT; } in getBase() 58 return DT->getRoots(); in getRoots() 62 return DT->getRoot(); in getRoot() 66 return DT->getRootNode(); in getRootNode() 72 return DT->dominates(A, B); in dominates() 76 return DT->dominates(A, B); in dominates() 83 if (BBA != BBB) return DT->dominates(BBA, BBB); in dominates() 101 return DT->properlyDominates(A, B); in properlyDominates() 106 return DT->properlyDominates(A, B); in properlyDominates() [all …]
|
/external/llvm/include/llvm/CodeGen/ |
D | MachineDominators.h | 71 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 …]
|
D | MachinePostDominators.h | 29 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/clang/include/clang/Analysis/Analyses/ |
D | Dominators.h | 41 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/swiftshader/third_party/LLVM/lib/Analysis/ |
D | InstructionSimplify.cpp | 72 static bool ValueDominatesPHI(Value *V, PHINode *P, const DominatorTree *DT) { in ValueDominatesPHI() argument 79 if (DT) in ValueDominatesPHI() 80 return DT->dominates(I, P); in ValueDominatesPHI() 98 const DominatorTree *DT, unsigned MaxRecurse) { in ExpandBinOp() argument 110 if (Value *L = SimplifyBinOp(Opcode, A, C, TD, DT, MaxRecurse)) in ExpandBinOp() 111 if (Value *R = SimplifyBinOp(Opcode, B, C, TD, DT, MaxRecurse)) { in ExpandBinOp() 120 if (Value *V = SimplifyBinOp(OpcodeToExpand, L, R, TD, DT, in ExpandBinOp() 134 if (Value *L = SimplifyBinOp(Opcode, A, B, TD, DT, MaxRecurse)) in ExpandBinOp() 135 if (Value *R = SimplifyBinOp(Opcode, A, C, TD, DT, MaxRecurse)) { in ExpandBinOp() 144 if (Value *V = SimplifyBinOp(OpcodeToExpand, L, R, TD, DT, in ExpandBinOp() [all …]
|
D | PHITransAddr.cpp | 146 const DominatorTree *DT) { in PHITranslateSubExpr() argument 190 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, TD, DT)) { in PHITranslateSubExpr() 246 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 268 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 287 if (Value *Res = SimplifyAddInst(LHS, RHS, isNSW, isNUW, TD, DT)) { in PHITranslateSubExpr() 305 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 322 const DominatorTree *DT) { in PHITranslateValue() argument [all …]
|
/external/llvm/include/llvm/Analysis/ |
D | InstructionSimplify.h | 54 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 …]
|
D | ValueTracking.h | 56 const DominatorTree *DT = nullptr); 66 const DominatorTree *DT = nullptr); 74 const DominatorTree *DT = nullptr); 85 const DominatorTree *DT = nullptr); 94 const DominatorTree *DT = nullptr); 100 const DominatorTree *DT = nullptr); 107 const DominatorTree *DT = nullptr); 114 const DominatorTree *DT = nullptr); 121 const DominatorTree *DT = nullptr); 135 const DominatorTree *DT = nullptr); [all …]
|
/external/llvm/lib/Transforms/Utils/ |
D | LCSSA.cpp | 63 static bool processInstruction(Loop &L, Instruction &Inst, DominatorTree &DT, in processInstruction() argument 101 DomTreeNode *DomNode = DT.getNode(DomBB); in processInstruction() 112 if (!DT.dominates(DomNode, DT.getNode(ExitBB))) in processInstruction() 193 processInstruction(*OtherLoop, *I, DT, EBs, PredCache, LI); in processInstruction() 208 DominatorTree &DT, in blockDominatesAnExit() argument 210 DomTreeNode *DomNode = DT.getNode(BB); in blockDominatesAnExit() 212 return DT.dominates(DomNode, DT.getNode(EB)); in blockDominatesAnExit() 216 bool llvm::formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSA() argument 235 if (!blockDominatesAnExit(BB, DT, ExitBlocks)) in formLCSSA() 246 Changed |= processInstruction(L, I, DT, ExitBlocks, PredCache, LI); in formLCSSA() [all …]
|
D | BreakCriticalEdges.cpp | 46 auto *DT = DTWP ? &DTWP->getDomTree() : nullptr; in runOnFunction() local 50 SplitAllCriticalEdges(F, CriticalEdgeSplittingOptions(DT, LI)); in runOnFunction() 182 auto *DT = Options.DT; in SplitCriticalEdge() local 184 if (!DT && !LI) in SplitCriticalEdge() 212 if (DT) { in SplitCriticalEdge() 213 DomTreeNode *TINode = DT->getNode(TIBB); in SplitCriticalEdge() 219 DomTreeNode *NewBBNode = DT->addNewBlock(NewBB, TIBB); in SplitCriticalEdge() 224 DestBBNode = DT->getNode(DestBB); in SplitCriticalEdge() 226 if (DomTreeNode *OPNode = DT->getNode(OtherPreds.back())) in SplitCriticalEdge() 227 NewBBDominatesDestBB = DT->dominates(DestBBNode, OPNode); in SplitCriticalEdge() [all …]
|
D | LoopUnroll.cpp | 84 DominatorTree *DT) { in foldBlockIntoPredecessor() argument 117 if (DT) in foldBlockIntoPredecessor() 118 if (DomTreeNode *DTN = DT->getNode(BB)) { in foldBlockIntoPredecessor() 119 DomTreeNode *PredDTN = DT->getNode(OnlyPred); in foldBlockIntoPredecessor() 122 DT->changeImmediateDominator(DI, PredDTN); in foldBlockIntoPredecessor() 124 DT->eraseNode(BB); in foldBlockIntoPredecessor() 206 DominatorTree *DT, AssumptionCache *AC, in UnrollLoop() argument 301 UnrollRuntimeEpilog, LI, SE, DT, in UnrollLoop() 469 if (DT) { in UnrollLoop() 471 DT->addNewBlock(New, Latches[It - 1]); in UnrollLoop() [all …]
|
D | LoopSimplify.cpp | 118 BasicBlock *llvm::InsertPreheaderForLoop(Loop *L, DominatorTree *DT, in InsertPreheaderForLoop() argument 140 PreheaderBB = SplitBlockPredecessors(Header, OutsideBlocks, ".preheader", DT, in InsertPreheaderForLoop() 160 DominatorTree *DT, LoopInfo *LI, in rewriteLoopExitBlock() argument 176 NewExitBB = SplitBlockPredecessors(Exit, LoopBlocks, ".loopexit", DT, LI, in rewriteLoopExitBlock() 207 static PHINode *findPHIToPartitionLoops(Loop *L, DominatorTree *DT, in findPHIToPartitionLoops() argument 213 if (Value *V = SimplifyInstruction(PN, DL, nullptr, DT, AC)) { in findPHIToPartitionLoops() 250 DominatorTree *DT, LoopInfo *LI, in separateNestedLoop() argument 261 PHINode *PN = findPHIToPartitionLoops(L, DT, AC); in separateNestedLoop() 286 DT, LI, PreserveLCSSA); in separateNestedLoop() 317 if (DT->dominates(Header, P)) in separateNestedLoop() [all …]
|
/external/llvm/lib/CodeGen/ |
D | MachineDominators.cpp | 52 DT->recalculate(F); in runOnMachineFunction() 60 DT = new DominatorTreeBase<MachineBasicBlock>(false); in MachineDominatorTree() 64 delete DT; in ~MachineDominatorTree() 68 DT->releaseMemory(); in releaseMemory() 77 DT->print(OS); in print() 97 MachineDomTreeNode *SuccDTNode = DT->getNode(Succ); in applySplitCriticalEdges() 120 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges() 132 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB); in applySplitCriticalEdges() 138 DT->changeImmediateDominator(DT->getNode(Edge.ToBB), NewDTNode); in applySplitCriticalEdges() 149 OtherDT.DT->recalculate(F); in verifyDomTree()
|
/external/llvm/lib/Transforms/Scalar/ |
D | Sink.cpp | 38 DominatorTree &DT) { in AllUsesDominatedByBlock() argument 54 if (!DT.dominates(BB, UseBlock)) in AllUsesDominatedByBlock() 96 DominatorTree &DT, LoopInfo &LI) { in IsAcceptableTarget() argument 122 if (!DT.dominates(Inst->getParent(), SuccToSinkTo)) in IsAcceptableTarget() 134 return AllUsesDominatedByBlock(Inst, SuccToSinkTo, DT); in IsAcceptableTarget() 141 DominatorTree &DT, LoopInfo &LI, AAResults &AA) { in SinkInstruction() argument 168 DomTreeNode *DTN = DT.getNode(Inst->getParent()); in SinkInstruction() 173 IsAcceptableTarget(Inst, Candidate, DT, LI)) in SinkInstruction() 181 if (IsAcceptableTarget(Inst, *I, DT, LI)) in SinkInstruction() 200 static bool ProcessBlock(BasicBlock &BB, DominatorTree &DT, LoopInfo &LI, in ProcessBlock() argument [all …]
|
D | LICM.cpp | 86 static bool hoist(Instruction &I, const DominatorTree *DT, const Loop *CurLoop, 88 static bool sink(Instruction &I, const LoopInfo *LI, const DominatorTree *DT, 92 const DominatorTree *DT, 104 DominatorTree *DT, TargetLibraryInfo *TLI, 110 bool runOnLoop(Loop *L, AliasAnalysis *AA, LoopInfo *LI, DominatorTree *DT, 183 auto *DT = FAM.getCachedResult<DominatorTreeAnalysis>(*F); in run() local 186 assert((AA && LI && DT && TLI && SE) && "Analyses for LICM not available"); in run() 190 if (!LICM.runOnLoop(&L, AA, LI, DT, TLI, SE, true)) in run() 215 LoopInfo *LI, DominatorTree *DT, in runOnLoop() argument 220 assert(L->isLCSSAForm(*DT) && "Loop is not in LCSSA form."); in runOnLoop() [all …]
|
D | LoopRotation.cpp | 59 DominatorTree *DT; member in __anon971a60de0111::LoopRotate 65 DominatorTree *DT, ScalarEvolution *SE) in LoopRotate() argument 66 : MaxHeaderSize(MaxHeaderSize), LI(LI), TTI(TTI), AC(AC), DT(DT), SE(SE) { in LoopRotate() 369 if (DT) { in rotateLoop() 374 DomTreeNode *OrigHeaderNode = DT->getNode(OrigHeader); in rotateLoop() 377 DomTreeNode *OrigPreheaderNode = DT->getNode(OrigPreheader); in rotateLoop() 379 DT->changeImmediateDominator(HeaderChildren[I], OrigPreheaderNode); in rotateLoop() 381 assert(DT->getNode(Exit)->getIDom() == OrigPreheaderNode); in rotateLoop() 382 assert(DT->getNode(NewHeader)->getIDom() == OrigPreheaderNode); in rotateLoop() 385 DT->changeImmediateDominator(OrigHeader, OrigLatch); in rotateLoop() [all …]
|
/external/llvm/lib/Analysis/ |
D | PHITransAddr.cpp | 147 const DominatorTree *DT) { in PHITranslateSubExpr() argument 192 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 210 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr() 221 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); in PHITranslateSubExpr() 233 GEPOps, DL, TLI, DT, AC)) { in PHITranslateSubExpr() 247 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 263 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 283 if (Value *Res = SimplifyAddInst(LHS, RHS, isNSW, isNUW, DL, TLI, DT, AC)) { in PHITranslateSubExpr() 300 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 317 const DominatorTree *DT, in PHITranslateValue() argument [all …]
|
/external/dtc/ |
D | dtdiff | 11 DT="$1" 12 if [ -d "$DT" ]; then 14 elif [ -f "$DT" ]; then 15 case "$DT" in 26 echo "Unrecognized format for $DT" >&2 30 $DTC -I $IFORMAT -O dts -qq -f -s -o - "$DT"
|
/external/llvm/include/llvm/Transforms/Utils/ |
D | BasicBlockUtils.h | 52 bool MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT = nullptr, 77 DominatorTree *DT; member 83 CriticalEdgeSplittingOptions(DominatorTree *DT = nullptr, 85 : DT(DT), LI(LI), MergeIdenticalEdges(false), in DT() function 173 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr); 180 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr); 199 DominatorTree *DT = nullptr, 219 DominatorTree *DT = nullptr, 253 DominatorTree *DT = nullptr,
|