/external/llvm/unittests/IR/ |
H A D | DominatorTreeTest.cpp | 28 DominatorTree *DT = &getAnalysis<DominatorTree>(); local 56 EXPECT_TRUE(DT->isReachableFromEntry(BB0)); 57 EXPECT_TRUE(DT->isReachableFromEntry(BB1)); 58 EXPECT_TRUE(DT->isReachableFromEntry(BB2)); 59 EXPECT_FALSE(DT->isReachableFromEntry(BB3)); 60 EXPECT_TRUE(DT->isReachableFromEntry(BB4)); 63 EXPECT_TRUE(DT->dominates(BB0, BB0)); 64 EXPECT_TRUE(DT->dominates(BB0, BB1)); 65 EXPECT_TRUE(DT->dominates(BB0, BB2)); 66 EXPECT_TRUE(DT [all...] |
/external/llvm/lib/Analysis/ |
H A D | PostDominators.cpp | 35 DT->recalculate(F); 40 delete DT; 44 DT->print(OS);
|
H A D | PHITransAddr.cpp | 147 const DominatorTree *DT) { 191 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); 210 (!DT || DT->dominates(CastI->getParent(), PredBB))) 221 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); 232 if (Value *V = SimplifyGEPInst(GEPOps, TD, TLI, DT)) { 247 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { 269 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); 288 if (Value *Res = SimplifyAddInst(LHS, RHS, isNSW, isNUW, TD, TLI, DT)) { 145 PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree *DT) argument 322 PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree *DT) argument 346 PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree &DT, SmallVectorImpl<Instruction*> &NewInsts) argument 370 InsertPHITranslatedSubExpr(Value *InVal, BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree &DT, SmallVectorImpl<Instruction*> &NewInsts) argument [all...] |
H A D | ScalarEvolutionNormalization.cpp | 30 const Loop *L, DominatorTree *DT) { 40 if (DT->dominates(LatchBlock, User->getParent())) 55 !DT->dominates(LatchBlock, PN->getIncomingBlock(i))) 71 DominatorTree &DT; member in class:__anon21113::PostIncTransform 78 Kind(kind), Loops(loops), SE(se), DT(dt) {} 122 if (IVUseShouldUsePostIncValue(User, OperandValToReplace, L, &DT)) { 220 DominatorTree &DT) { 221 PostIncTransform Transform(Kind, Loops, SE, DT); 29 IVUseShouldUsePostIncValue(Instruction *User, Value *Operand, const Loop *L, DominatorTree *DT) argument 214 TransformForPostIncUse(TransformKind Kind, const SCEV *S, Instruction *User, Value *OperandValToReplace, PostIncLoopSet &Loops, ScalarEvolution &SE, DominatorTree &DT) argument
|
/external/llvm/include/llvm/Analysis/ |
H A D | PostDominators.h | 26 DominatorTreeBase<BasicBlock>* DT; member in struct:llvm::PostDominatorTree 30 DT = new DominatorTreeBase<BasicBlock>(true); 42 return DT->getRoots(); 46 return DT->getRootNode(); 50 return DT->getNode(BB); 54 return DT->getNode(BB); 58 return DT->dominates(A, B); 62 return DT->dominates(A, B); 66 return DT->properlyDominates(A, B); 70 return DT 93 getEntryNode(PostDominatorTree *DT) argument [all...] |
H A D | DominatorInternals.h | 34 unsigned DFSPass(DominatorTreeBase<typename GraphT::NodeType>& DT, argument 40 InfoRec &VInfo = DT.Info[DT.Roots[i]]; 47 InfoRec &SuccVInfo = DT.Info[*SI]; 50 N = DTDFSPass(DT, *SI, N); 64 DT.Info[BB]; 71 DT.Vertex.push_back(BB); // Vertex[n] = V; 96 DT.Info[Succ]; 108 Eval(DominatorTreeBase<typename GraphT::NodeType>& DT, argument 111 DT 151 Calculate(DominatorTreeBase<typename GraphTraits<NodeT>::NodeType>& DT, FuncT& F) argument [all...] |
H A 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 [all...] |
H A D | PHITransAddr.h | 74 /// dominator tree DT is non-null, the translated value must dominate 77 const DominatorTree *DT); 87 const DominatorTree &DT, 98 const DominatorTree *DT); 106 BasicBlock *PredBB, const DominatorTree &DT,
|
H A D | ScalarEvolutionNormalization.h | 74 DominatorTree &DT);
|
H A D | Dominators.h | 183 void Calculate(DominatorTreeBase<typename GraphTraits<N>::NodeType>& DT, 239 void Split(DominatorTreeBase<typename GraphT::NodeType>& DT, argument 260 if (ND != NewBB && !DT.dominates(NewBBSucc, ND) && 261 DT.isReachableFromEntry(ND)) { 272 if (DT.isReachableFromEntry(PredBlocks[i])) { 284 if (DT.isReachableFromEntry(PredBlocks[i])) 285 NewBBIDom = DT.findNearestCommonDominator(NewBBIDom, PredBlocks[i]); 289 DomTreeNodeBase<NodeT> *NewBBNode = DT.addNewBlock(NewBB, NewBBIDom); 294 DomTreeNodeBase<NodeT> *NewBBSuccNode = DT.getNode(NewBBSucc); 295 DT 729 DominatorTreeBase<BasicBlock>* DT; member in class:llvm::DominatorTree 904 getEntryNode(DominatorTree *DT) argument [all...] |
H A D | CFG.h | 58 /// Using DT or LI allows us to answer more quickly. LI reduces the cost of 60 /// single block. DT reduces the cost by allowing the search to terminate when 61 /// we find a block that dominates the block containing 'To'. DT is most useful 65 DominatorTree *DT = 0, LoopInfo *LI = 0);
|
H A D | DominanceFrontier.h | 172 DominatorTree &DT = getAnalysis<DominatorTree>(); local 173 Roots = DT.getRoots(); 175 calculate(DT, DT[Roots[0]]); 184 const DomSetType &calculate(const DominatorTree &DT,
|
/external/llvm/include/llvm/CodeGen/ |
H A D | MachinePostDominators.h | 30 DominatorTreeBase<MachineBasicBlock> *DT; member in struct:llvm::MachinePostDominatorTree 42 return DT->getRoots(); 46 return DT->getRootNode(); 50 return DT->getNode(BB); 54 return DT->getNode(BB); 59 return DT->dominates(A, B); 63 return DT->dominates(A, B); 68 return DT->properlyDominates(A, B); 73 return DT->properlyDominates(A, B); 78 return DT [all...] |
H A D | MachineDominators.h | 43 DominatorTreeBase<MachineBasicBlock>* DT; member in class:llvm::MachineDominatorTree 49 DominatorTreeBase<MachineBasicBlock>& getBase() { return *DT; } 58 return DT->getRoots(); 62 return DT->getRoot(); 66 return DT->getRootNode(); 73 return DT->dominates(A, B); 78 return DT->dominates(A, B); 85 if (BBA != BBB) return DT->dominates(BBA, BBB); 92 //if(!DT.IsPostDominators) { 103 return DT 198 getEntryNode(MachineDominatorTree *DT) argument [all...] |
/external/llvm/lib/CodeGen/ |
H A D | MachinePostDominators.cpp | 27 DT = new DominatorTreeBase<MachineBasicBlock>(true); //true indicate 38 DT->recalculate(F); 43 delete DT; 54 DT->print(OS);
|
H A D | MachineDominators.cpp | 38 DT->recalculate(F); 46 DT = new DominatorTreeBase<MachineBasicBlock>(false); 50 delete DT; 54 DT->releaseMemory(); 58 DT->print(OS);
|
/external/clang/include/clang/Analysis/Analyses/ |
H A D | Dominators.h | 35 llvm::DominatorTreeBase<CFGBlock>* DT; member in class:clang::DominatorTree 38 DT = new llvm::DominatorTreeBase<CFGBlock>(false); 42 delete DT; 45 llvm::DominatorTreeBase<CFGBlock>& getBase() { return *DT; } 50 return DT->getRoot(); 56 return DT->getRootNode(); 70 if (DT->compare(Other.getBase())) 81 DT->recalculate(*cfg); 91 if(DT->getNode(*I)->getIDom()) 94 << DT 197 getEntryNode(::clang::DominatorTree *DT) argument [all...] |
/external/llvm/include/llvm/Transforms/Utils/ |
H A D | CodeExtractor.h | 48 DominatorTree *const DT; member in class:llvm::CodeExtractor 69 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = 0, 76 CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs = false); 82 CodeExtractor(DominatorTree &DT, const RegionNode &RN,
|
H A D | PromoteMemToReg.h | 44 void PromoteMemToReg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT,
|
/external/clang/include/clang/Lex/ |
H A D | DirectoryLookup.h | 68 DirectoryLookup(const DirectoryEntry *dir, SrcMgr::CharacteristicKind DT, argument 70 : DirCharacteristic(DT), 78 DirectoryLookup(const HeaderMap *map, SrcMgr::CharacteristicKind DT, argument 80 : DirCharacteristic(DT), LookupType(LT_HeaderMap),
|
/external/llvm/lib/Transforms/Utils/ |
H A D | LCSSA.cpp | 55 DominatorTree *DT; member in struct:__anon21714::LCSSA 83 assert(L->isLCSSAForm(*DT) && "LCSSA form not preserved!"); 107 DominatorTree *DT) { 108 DomTreeNode *DomNode = DT->getNode(BB); 110 if (DT->dominates(DomNode, DT->getNode(ExitBlocks[i]))) 121 DT = &getAnalysis<DominatorTree>(); 148 if (!BlockDominatesAnExit(BB, ExitBlocks, DT)) 170 assert(L->isLCSSAForm(*DT)); 218 DomTreeNode *DomNode = DT 105 BlockDominatesAnExit(BasicBlock *BB, const SmallVectorImpl<BasicBlock*> &ExitBlocks, DominatorTree *DT) argument [all...] |
H A D | Mem2Reg.cpp | 66 DominatorTree &DT = getAnalysis<DominatorTree>(); local 81 PromoteMemToReg(Allocas, DT, DL);
|
H A D | BreakCriticalEdges.cpp | 214 DominatorTree *DT = P->getAnalysisIfAvailable<DominatorTree>(); 219 if (DT == 0 && LI == 0 && PI == 0) 247 if (DT) { 248 DomTreeNode *TINode = DT->getNode(TIBB); 254 DomTreeNode *NewBBNode = DT->addNewBlock(NewBB, TIBB); 257 // If NewBBDominatesDestBB hasn't been computed yet, do so with DT. 259 DestBBNode = DT->getNode(DestBB); 261 if (DomTreeNode *OPNode = DT->getNode(OtherPreds.back())) 262 NewBBDominatesDestBB = DT->dominates(DestBBNode, OPNode); 271 if (!DestBBNode) DestBBNode = DT [all...] |
/external/clang/test/SemaTemplate/ |
H A D | default-arguments.cpp | 130 typename DT> 131 container<DT> initializer(const DT& d) { 132 return container<DT>();
|
/external/llvm/lib/Transforms/Scalar/ |
H A D | LoopRotation.cpp | 254 if (DominatorTree *DT = getAnalysisIfAvailable<DominatorTree>()) 255 DT->eraseNode(Latch); 436 if (DominatorTree *DT = getAnalysisIfAvailable<DominatorTree>()) { 441 DomTreeNode *OrigHeaderNode = DT->getNode(OrigHeader); 444 DomTreeNode *OrigPreheaderNode = DT->getNode(OrigPreheader); 446 DT->changeImmediateDominator(HeaderChildren[I], OrigPreheaderNode); 448 assert(DT->getNode(Exit)->getIDom() == OrigPreheaderNode); 449 assert(DT->getNode(NewHeader)->getIDom() == OrigPreheaderNode); 452 DT->changeImmediateDominator(OrigHeader, OrigLatch); 474 if (DominatorTree *DT [all...] |