/external/llvm/unittests/IR/ |
D | DominatorTreeTest.cpp | 28 DominatorTree *DT = &getAnalysis<DominatorTree>(); in runOnFunction() local 56 EXPECT_TRUE(DT->isReachableFromEntry(BB0)); in runOnFunction() 57 EXPECT_TRUE(DT->isReachableFromEntry(BB1)); in runOnFunction() 58 EXPECT_TRUE(DT->isReachableFromEntry(BB2)); in runOnFunction() 59 EXPECT_FALSE(DT->isReachableFromEntry(BB3)); in runOnFunction() 60 EXPECT_TRUE(DT->isReachableFromEntry(BB4)); in runOnFunction() 63 EXPECT_TRUE(DT->dominates(BB0, BB0)); in runOnFunction() 64 EXPECT_TRUE(DT->dominates(BB0, BB1)); in runOnFunction() 65 EXPECT_TRUE(DT->dominates(BB0, BB2)); in runOnFunction() 66 EXPECT_TRUE(DT->dominates(BB0, BB3)); in runOnFunction() [all …]
|
/external/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 | 53 const DominatorTree *DT = 0); 60 const DominatorTree *DT = 0); 67 const DominatorTree *DT = 0); 74 const DominatorTree *DT = 0); 82 const DominatorTree *DT = 0); 88 const DominatorTree *DT = 0); 94 const DominatorTree *DT = 0); 100 const DominatorTree *DT = 0); 106 const DominatorTree *DT = 0); 112 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, 239 void Split(DominatorTreeBase<typename GraphT::NodeType>& DT, in Split() argument 260 if (ND != NewBB && !DT.dominates(NewBBSucc, ND) && in Split() 261 DT.isReachableFromEntry(ND)) { in Split() 272 if (DT.isReachableFromEntry(PredBlocks[i])) { in Split() 284 if (DT.isReachableFromEntry(PredBlocks[i])) in Split() 285 NewBBIDom = DT.findNearestCommonDominator(NewBBIDom, PredBlocks[i]); in Split() 289 DomTreeNodeBase<NodeT> *NewBBNode = DT.addNewBlock(NewBB, NewBBIDom); in Split() 294 DomTreeNodeBase<NodeT> *NewBBSuccNode = DT.getNode(NewBBSucc); in Split() 295 DT.changeImmediateDominator(NewBBSuccNode, NewBBNode); in Split() [all …]
|
D | PHITransAddr.h | 77 const DominatorTree *DT); 87 const DominatorTree &DT, 98 const DominatorTree *DT); 106 BasicBlock *PredBB, const DominatorTree &DT,
|
/external/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() 73 return DT->dominates(A, B); in dominates() 78 return DT->dominates(A, B); in dominates() 85 if (BBA != BBB) return DT->dominates(BBA, BBB); in dominates() 103 return DT->properlyDominates(A, B); in properlyDominates() 108 return DT->properlyDominates(A, B); in properlyDominates() [all …]
|
D | MachinePostDominators.h | 30 DominatorTreeBase<MachineBasicBlock> *DT; 42 return DT->getRoots(); in getRoots() 46 return DT->getRootNode(); in getRootNode() 50 return DT->getNode(BB); 54 return DT->getNode(BB); in getNode() 59 return DT->dominates(A, B); in dominates() 63 return DT->dominates(A, B); in dominates() 68 return DT->properlyDominates(A, B); in properlyDominates() 73 return DT->properlyDominates(A, B); in properlyDominates() 78 return DT->findNearestCommonDominator(A, B); in findNearestCommonDominator()
|
/external/clang/include/clang/Analysis/Analyses/ |
D | Dominators.h | 35 llvm::DominatorTreeBase<CFGBlock>* DT; 38 DT = new llvm::DominatorTreeBase<CFGBlock>(false); in DominatorTree() 42 delete DT; in ~DominatorTree() local 45 llvm::DominatorTreeBase<CFGBlock>& getBase() { return *DT; } in getBase() 50 return DT->getRoot(); in getRoot() 56 return DT->getRootNode(); in getRootNode() 70 if (DT->compare(Other.getBase())) in compare() 81 DT->recalculate(*cfg); in buildDominatorTree() 91 if(DT->getNode(*I)->getIDom()) in dump() 94 << DT->getNode(*I)->getIDom()->getBlock()->getBlockID() in dump() [all …]
|
/external/llvm/lib/Analysis/ |
D | PHITransAddr.cpp | 147 const DominatorTree *DT) { in PHITranslateSubExpr() argument 191 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() 232 if (Value *V = SimplifyGEPInst(GEPOps, TD, TLI, DT)) { in PHITranslateSubExpr() 247 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 269 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 288 if (Value *Res = SimplifyAddInst(LHS, RHS, isNSW, isNUW, TD, TLI, DT)) { in PHITranslateSubExpr() 306 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 323 const DominatorTree *DT) { in PHITranslateValue() argument [all …]
|
D | InstructionSimplify.cpp | 47 const DominatorTree *DT; member 50 const DominatorTree *dt) : TD(td), TLI(tli), DT(dt) {} in Query() 93 static bool ValueDominatesPHI(Value *V, PHINode *P, const DominatorTree *DT) { in ValueDominatesPHI() argument 106 if (DT) { in ValueDominatesPHI() 107 if (!DT->isReachableFromEntry(P->getParent())) in ValueDominatesPHI() 109 if (!DT->isReachableFromEntry(I->getParent())) in ValueDominatesPHI() 111 return DT->dominates(I, P); in ValueDominatesPHI() 522 if (!ValueDominatesPHI(RHS, PI, Q.DT)) in ThreadBinOpOverPHI() 528 if (!ValueDominatesPHI(LHS, PI, Q.DT)) in ThreadBinOpOverPHI() 570 if (!ValueDominatesPHI(RHS, PI, Q.DT)) in ThreadCmpOverPHI() [all …]
|
D | ScalarEvolutionNormalization.cpp | 30 const Loop *L, DominatorTree *DT) { in IVUseShouldUsePostIncValue() argument 40 if (DT->dominates(LatchBlock, User->getParent())) in IVUseShouldUsePostIncValue() 55 !DT->dominates(LatchBlock, PN->getIncomingBlock(i))) in IVUseShouldUsePostIncValue() 71 DominatorTree &DT; member in __anonec92f94d0111::PostIncTransform 78 Kind(kind), Loops(loops), SE(se), DT(dt) {} in PostIncTransform() 122 if (IVUseShouldUsePostIncValue(User, OperandValToReplace, L, &DT)) { in TransformImpl() 220 DominatorTree &DT) { in TransformForPostIncUse() argument 221 PostIncTransform Transform(Kind, Loops, SE, DT); in TransformForPostIncUse()
|
D | RegionInfo.cpp | 57 : RegionNode(Parent, Entry, 1), RI(RInfo), DT(dt), exit(Exit) {} in Region() 85 assert(DT->getNode(BB) && "BB not part of the dominance tree"); in contains() 93 return (DT->dominates(entry, BB) in contains() 94 && !(DT->dominates(exit, BB) && DT->dominates(entry, exit))); in contains() 143 if (DT->getNode(Pred) && !contains(Pred)) { in getEnteringBlock() 372 if (!DT->dominates(getEntry(), *PI)) in getExpandedRegion() 379 return new Region(getEntry(), *succ_begin(exit), RI, DT); in getExpandedRegion() 387 if (!DT->dominates(getEntry(), R->getExit())) in getExpandedRegion() 390 if (!DT->dominates(R->getExit(), *PI)) in getExpandedRegion() 393 return new Region(getEntry(), R->getExit(), RI, DT); in getExpandedRegion() [all …]
|
D | PostDominators.cpp | 35 DT->recalculate(F); in runOnFunction() 40 delete DT; in ~PostDominatorTree() 44 DT->print(OS); in print()
|
D | AliasAnalysis.cpp | 387 CapturesBefore(const Instruction *I, DominatorTree *DT) in CapturesBefore() 388 : BeforeHere(I), DT(DT), Captured(false) {} in CapturesBefore() 397 if (BeforeHere != I && !DT->isReachableFromEntry(BB)) in shouldExplore() 402 if (BeforeHere != I && DT->dominates(BeforeHere, I) && in shouldExplore() 412 if (BeforeHere != I && !DT->isReachableFromEntry(BB)) in captured() 414 if (BeforeHere != I && DT->dominates(BeforeHere, I) && in captured() 422 DominatorTree *DT; member 435 DominatorTree *DT) { in callCapturesBefore() argument 436 if (!DT || !TD) return AliasAnalysis::ModRef; in callCapturesBefore() 447 CapturesBefore CB(I, DT); in callCapturesBefore()
|
/external/llvm/lib/CodeGen/ |
D | MachineDominators.cpp | 38 DT->recalculate(F); in runOnMachineFunction() 46 DT = new DominatorTreeBase<MachineBasicBlock>(false); in MachineDominatorTree() 50 delete DT; in ~MachineDominatorTree() 54 DT->releaseMemory(); in releaseMemory() 58 DT->print(OS); in print()
|
D | MachinePostDominators.cpp | 27 DT = new DominatorTreeBase<MachineBasicBlock>(true); //true indicate in MachinePostDominatorTree() 38 DT->recalculate(F); in runOnMachineFunction() 43 delete DT; in ~MachinePostDominatorTree() 54 DT->print(OS); in print()
|
D | StackProtector.cpp | 49 DominatorTree *DT; member in __anonb83190d40111::StackProtector 110 DT = getAnalysisIfAvailable<DominatorTree>(); in runOnFunction() 330 if (DT && DT->isReachableFromEntry(BB)) { in InsertStackProtectors() 331 DT->addNewBlock(NewBB, BB); in InsertStackProtectors() 332 FailBBDom = FailBBDom ? DT->findNearestCommonDominator(FailBBDom, BB) :BB; in InsertStackProtectors() 353 if (DT && FailBBDom) in InsertStackProtectors() 354 DT->addNewBlock(FailBB, FailBBDom); in InsertStackProtectors()
|
/external/llvm/lib/Transforms/Utils/ |
D | LCSSA.cpp | 55 DominatorTree *DT; member 83 assert(L->isLCSSAForm(*DT) && "LCSSA form not preserved!"); in verifyAnalysis() 107 DominatorTree *DT) { in BlockDominatesAnExit() argument 108 DomTreeNode *DomNode = DT->getNode(BB); in BlockDominatesAnExit() 110 if (DT->dominates(DomNode, DT->getNode(ExitBlocks[i]))) in BlockDominatesAnExit() 121 DT = &getAnalysis<DominatorTree>(); in runOnLoop() 148 if (!BlockDominatesAnExit(BB, ExitBlocks, DT)) in runOnLoop() 170 assert(L->isLCSSAForm(*DT)); in runOnLoop() 218 DomTreeNode *DomNode = DT->getNode(DomBB); in ProcessInstruction() 230 if (!DT->dominates(DomNode, DT->getNode(ExitBB))) continue; in ProcessInstruction()
|
D | BreakCriticalEdges.cpp | 246 DominatorTree *DT = P->getAnalysisIfAvailable<DominatorTree>(); in SplitCriticalEdge() local 251 if (DT == 0 && LI == 0 && PI == 0) in SplitCriticalEdge() 279 if (DT) { in SplitCriticalEdge() 280 DomTreeNode *TINode = DT->getNode(TIBB); in SplitCriticalEdge() 286 DomTreeNode *NewBBNode = DT->addNewBlock(NewBB, TIBB); in SplitCriticalEdge() 291 DestBBNode = DT->getNode(DestBB); in SplitCriticalEdge() 293 if (DomTreeNode *OPNode = DT->getNode(OtherPreds.back())) in SplitCriticalEdge() 294 NewBBDominatesDestBB = DT->dominates(DestBBNode, OPNode); in SplitCriticalEdge() 303 if (!DestBBNode) DestBBNode = DT->getNode(DestBB); in SplitCriticalEdge() 304 DT->changeImmediateDominator(DestBBNode, NewBBNode); in SplitCriticalEdge()
|
D | CodeExtractor.cpp | 121 : DT(0), AggregateArgs(AggregateArgs||AggregateArgsOpt), in CodeExtractor() 124 CodeExtractor::CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT, in CodeExtractor() argument 126 : DT(DT), AggregateArgs(AggregateArgs||AggregateArgsOpt), in CodeExtractor() 129 CodeExtractor::CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs) in CodeExtractor() argument 130 : DT(&DT), AggregateArgs(AggregateArgs||AggregateArgsOpt), in CodeExtractor() 133 CodeExtractor::CodeExtractor(DominatorTree &DT, const RegionNode &RN, in CodeExtractor() argument 135 : DT(&DT), AggregateArgs(AggregateArgs||AggregateArgsOpt), in CodeExtractor() 226 if (DT) in severSplitPHINodes() 227 DT->splitBlock(NewBB); in severSplitPHINodes() 269 if (DT) { in splitReturnBlocks() [all …]
|
/external/clang/lib/Lex/ |
D | PPExpressions.cpp | 82 static bool EvaluateDefined(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateDefined() argument 152 DT.State = DefinedTracker::DefinedMacro; in EvaluateDefined() 153 DT.TheMacro = II; in EvaluateDefined() 165 static bool EvaluateValue(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateValue() argument 167 DT.State = DefinedTracker::Unknown; in EvaluateValue() 182 return(EvaluateDefined(Result, PeekTok, DT, ValueLive, PP)); in EvaluateValue() 326 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue() 343 DT.State = DefinedTracker::Unknown; in EvaluateValue() 353 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue() 360 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue() [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | LoopRotation.cpp | 253 if (DominatorTree *DT = getAnalysisIfAvailable<DominatorTree>()) in simplifyLoopLatch() local 254 DT->eraseNode(Latch); in simplifyLoopLatch() 420 if (DominatorTree *DT = getAnalysisIfAvailable<DominatorTree>()) { in rotateLoop() local 425 DomTreeNode *OrigHeaderNode = DT->getNode(OrigHeader); in rotateLoop() 428 DomTreeNode *OrigPreheaderNode = DT->getNode(OrigPreheader); in rotateLoop() 430 DT->changeImmediateDominator(HeaderChildren[I], OrigPreheaderNode); in rotateLoop() 432 assert(DT->getNode(Exit)->getIDom() == OrigPreheaderNode); in rotateLoop() 433 assert(DT->getNode(NewHeader)->getIDom() == OrigPreheaderNode); in rotateLoop() 436 DT->changeImmediateDominator(OrigHeader, OrigLatch); in rotateLoop() 458 if (DominatorTree *DT = getAnalysisIfAvailable<DominatorTree>()) { in rotateLoop() local [all …]
|
/external/llvm/include/llvm/Transforms/Utils/ |
D | CodeExtractor.h | 48 DominatorTree *const DT; variable 69 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = 0, 76 CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs = false); 82 CodeExtractor(DominatorTree &DT, const RegionNode &RN,
|
/external/clang/include/clang/Lex/ |
D | DirectoryLookup.h | 63 DirectoryLookup(const DirectoryEntry *dir, SrcMgr::CharacteristicKind DT, in DirectoryLookup() argument 65 : DirCharacteristic(DT), in DirectoryLookup() 73 DirectoryLookup(const HeaderMap *map, SrcMgr::CharacteristicKind DT, in DirectoryLookup() argument 75 : DirCharacteristic(DT), LookupType(LT_HeaderMap), in DirectoryLookup()
|