/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/swiftshader/third_party/llvm-7.0/llvm/unittests/IR/ |
D | DominatorTreeTest.cpp | 29 function_ref<void(Function &F, DominatorTree *DT, PostDominatorTree *PDT)> in runWithDomTree() argument 34 DominatorTree DT(*F); in runWithDomTree() local 36 Test(*F, &DT, &PDT); in runWithDomTree() 77 *M, "f", [&](Function &F, DominatorTree *DT, PostDominatorTree *PDT) { in TEST() argument 105 EXPECT_TRUE(DT->isReachableFromEntry(BB0)); in TEST() 106 EXPECT_TRUE(DT->isReachableFromEntry(BB1)); in TEST() 107 EXPECT_TRUE(DT->isReachableFromEntry(BB2)); in TEST() 108 EXPECT_FALSE(DT->isReachableFromEntry(BB3)); in TEST() 109 EXPECT_TRUE(DT->isReachableFromEntry(BB4)); in TEST() 112 EXPECT_TRUE(DT->dominates(BB0, BB0)); in TEST() [all …]
|
D | DominatorTreeBatchUpdatesTest.cpp | 98 DominatorTree DT(*Holder.F); in TEST() local 99 EXPECT_TRUE(DT.verify()); in TEST() 109 DT.applyUpdates(Updates); in TEST() 110 EXPECT_TRUE(DT.verify()); in TEST() 120 DominatorTree DT(*Holder.F); in TEST() local 121 EXPECT_TRUE(DT.verify()); in TEST() 131 DT.applyUpdates(Updates); in TEST() 132 EXPECT_TRUE(DT.verify()); in TEST() 146 DominatorTree DT(*Holder.F); in TEST() local 147 EXPECT_TRUE(DT.verify()); in TEST() [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 …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/Support/ |
D | GenericDomTreeConstruction.h | 173 TreeNodePtr getNodeForBlock(NodePtr BB, DomTreeT &DT) { in getNodeForBlock() 174 if (TreeNodePtr Node = DT.getNode(BB)) return Node; in getNodeForBlock() 180 assert(IDom || DT.DomTreeNodes[nullptr]); in getNodeForBlock() 181 TreeNodePtr IDomNode = getNodeForBlock(IDom, DT); in getNodeForBlock() 185 return (DT.DomTreeNodes[BB] = IDomNode->addChild( in getNodeForBlock() 296 void runSemiNCA(DomTreeT &DT, const unsigned MinLevel = 0) { 316 const TreeNodePtr TN = DT.getNode(N); 366 static NodePtr GetEntryNode(const DomTreeT &DT) { in GetEntryNode() 367 assert(DT.Parent && "Parent not set"); in GetEntryNode() 368 return GraphTraits<typename DomTreeT::ParentPtr>::getEntryNode(DT.Parent); in GetEntryNode() [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/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 …]
|
/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/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/ |
D | MachineDominators.h | 70 std::unique_ptr<DomTreeBase<MachineBasicBlock>> DT; variable 85 if (!DT) DT.reset(new DomTreeBase<MachineBasicBlock>()); in getBase() 87 return *DT; in getBase() 98 return DT->getRoots(); in getRoots() 103 return DT->getRoot(); in getRoot() 108 return DT->getRootNode(); in getRootNode() 116 return DT->dominates(A, B); in dominates() 122 return DT->dominates(A, B); in dominates() 130 if (BBA != BBB) return DT->dominates(BBA, BBB); in dominates() 149 return DT->properlyDominates(A, B); in properlyDominates() [all …]
|
D | MachinePostDominators.h | 29 PostDomTreeBase<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/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/swiftshader/third_party/llvm-7.0/llvm/lib/IR/ |
D | DomTreeUpdater.cpp | 59 assert((DT || PDT) && in applyLazyUpdate() 94 if (Strategy != UpdateStrategy::Lazy || !DT) in applyDomTreeUpdates() 102 DT->applyUpdates(ArrayRef<DominatorTree::UpdateType>(I, E)); in applyDomTreeUpdates() 156 if (!DT && !PDT) in recalculate() 160 if (DT) in recalculate() 161 DT->recalculate(F); in recalculate() 173 if (DT) in recalculate() 174 DT->recalculate(F); in recalculate() 195 if (!DT) in hasPendingDomTreeUpdates() 245 if (DT && !IsRecalculatingDomTree) in eraseDelBBNode() [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/ |
D | MachineDominators.cpp | 52 DT.reset(new DomTreeBase<MachineBasicBlock>()); in runOnMachineFunction() 53 DT->recalculate(F); in runOnMachineFunction() 64 DT.reset(nullptr); in releaseMemory() 68 if (DT && VerifyMachineDomInfo) { in verifyAnalysis() 74 DT->compare(OtherDT)) { in verifyAnalysis() 77 DT->print(errs()); in verifyAnalysis() 86 if (DT) in print() 87 DT->print(OS); in print() 107 MachineDomTreeNode *SuccDTNode = DT->getNode(Succ); in applySplitCriticalEdges() 130 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges() [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 …]
|
/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 …]
|
/external/swiftshader/third_party/llvm-7.0/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() 174 if (IsAcceptableTarget(Inst, Candidate, DT, LI)) in SinkInstruction() 182 if (IsAcceptableTarget(Inst, *I, DT, LI)) in SinkInstruction() 199 static bool ProcessBlock(BasicBlock &BB, DominatorTree &DT, LoopInfo &LI, in ProcessBlock() argument [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Analysis/ |
D | PHITransAddr.cpp | 146 const DominatorTree *DT) { in PHITranslateSubExpr() argument 190 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 208 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr() 219 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); in PHITranslateSubExpr() 231 GEPOps, {DL, TLI, DT, AC})) { in PHITranslateSubExpr() 245 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 261 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 280 if (Value *Res = SimplifyAddInst(LHS, RHS, isNSW, isNUW, {DL, TLI, DT, AC})) { in PHITranslateSubExpr() 297 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 314 const DominatorTree *DT, in PHITranslateValue() argument [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Utils/ |
D | LCSSA.cpp | 76 DominatorTree &DT, LoopInfo &LI) { in formLCSSAForInstructions() argument 127 DomTreeNode *DomNode = DT.getNode(DomBB); in formLCSSAForInstructions() 139 if (!DT.dominates(DomNode, DT.getNode(ExitBB))) in formLCSSAForInstructions() 261 Loop &L, DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, in computeBlocksDominatingExits() argument 279 BasicBlock *IDomBB = DT.getNode(BB)->getIDom()->getBlock(); in computeBlocksDominatingExits() 305 bool llvm::formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSA() argument 321 computeBlocksDominatingExits(L, DT, ExitBlocks, BlocksDominatingExits); in formLCSSA() 346 Changed = formLCSSAForInstructions(Worklist, DT, *LI); in formLCSSA() 354 assert(L.isLCSSAForm(DT)); in formLCSSA() 360 bool llvm::formLCSSARecursively(Loop &L, DominatorTree &DT, LoopInfo *LI, in formLCSSARecursively() argument [all …]
|