/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | GenericDomTree.h | 62 DomTreeNodeBase *IDom; member in class:llvm::DomTreeNodeBase 70 : TheBB(BB), IDom(iDom), Level(IDom ? IDom->Level + 1 : 0) {} 82 DomTreeNodeBase *getIDom() const { return IDom; } 118 assert(IDom && "No immediate dominator?"); 119 if (IDom == NewIDom) return; 121 auto I = find(IDom->Children, this); 122 assert(I != IDom->Children.end() && 125 IDom 628 DomTreeNodeBase<NodeT> *IDom = Node->getIDom(); local 834 const DomTreeNodeBase<NodeT> *IDom; local [all...] |
H A D | GenericDomTreeConstruction.h | 66 NodePtr IDom = nullptr; member in struct:llvm::DomTreeBuilder::SemiNCAInfo::InfoRec 173 return InfoIt->second.IDom; 181 NodePtr IDom = getIDom(BB); 183 assert(IDom || DT.DomTreeNodes[nullptr]); 184 TreeNodePtr IDomNode = getNodeForBlock(IDom, DT); 310 VInfo.IDom = NumToNode[VInfo.Parent]; 336 // IDom[i] = NCA(SDom[i], SpanningTreeParent(i)). 343 NodePtr WIDomCandidate = WInfo.IDom; 345 WIDomCandidate = NodeToInfo[WIDomCandidate].IDom; 347 WInfo.IDom 1140 const TreeNodePtr IDom = TN->getIDom(); local 1345 const TreeNodePtr IDom = TN->getIDom(); local [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | SSAUpdaterImpl.h | 57 BBInfo *IDom = nullptr; member in class:llvm::SSAUpdaterImpl::BBInfo 171 Info->IDom = PseudoEntry; 217 Blk1 = Blk1->IDom; 222 Blk2 = Blk2->IDom; 269 // Check if the IDom value has changed. 270 if (NewIDom && NewIDom != Info->IDom) { 271 Info->IDom = NewIDom; 278 /// IsDefInDomFrontier - Search up the dominator tree from Pred to IDom for 282 bool IsDefInDomFrontier(const BBInfo *Pred, const BBInfo *IDom) { argument 283 for (; Pred != IDom; Pre [all...] |
/freebsd-11-stable/contrib/llvm-project/clang/include/clang/Analysis/Analyses/ |
H A D | Dominators.h | 96 << "dominance tree (Node#,IDom#):\n"; 104 DomTreeNode *IDom = DT.getNode(*I)->getIDom(); local 105 if (IDom && IDom->getBlock()) 108 << IDom->getBlock()->getBlockID() 114 bool IsDomTreeRoot = !IDom && !IsPostDom && IsEntryBlock; 116 IDom && !IDom->getBlock() && IsPostDom && IsExitBlock;
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ShrinkWrap.cpp | 316 MachineBasicBlock *IDom = &Block; local 318 IDom = Dom.findNearestCommonDominator(IDom, BB); 319 if (!IDom) 322 if (IDom == &Block) 324 return IDom;
|
H A D | LiveRangeCalc.cpp | 498 MachineDomTreeNode *IDom = Node->getIDom(); local 503 bool needPHI = !IDom || !Seen.test(IDom->getBlock()->getNumber()); 505 // IDom dominates all of our predecessors, but it may not be their 507 // properly dominated by IDom. If so, we need a phi-def here. 509 IDomValue = Map[IDom->getBlock()]; 514 Map[IDom->getBlock()].second = IDomValue.second = 535 if (DomTree->dominates(IDom, Value.second)) {
|
H A D | SplitKit.cpp | 937 MachineDomTreeNode *IDom = MDT[Loop->getHeader()]->getIDom(); local 940 if (!IDom || !MDT.dominates(DefDomNode, IDom)) 943 MBB = IDom->getBlock();
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | SSAUpdaterBulk.cpp | 80 BasicBlock *IDom = DT->getNode(BB)->getIDom()->getBlock(); 81 Value *V = computeValueAt(IDom, R, DT);
|
H A D | LoopUnrollPeel.cpp | 521 DomTreeNode *IDom = DT->getNode(*BB)->getIDom(); 522 // VMap must contain entry for IDom, as the iteration order is RPO. 523 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDom->getBlock()])); 641 assert(L->contains(BB) && "IDom is not in a loop");
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/MCA/HardwareUnits/ |
H A D | LSUnit.cpp | 91 MemoryGroup &IDom = getGroup(ImmediateLoadDominator); local 94 IDom.addSuccessor(&NewGroup);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SIAnnotateControlFlow.cpp | 186 BasicBlock *IDom = DT->getNode(Phi->getParent())->getIDom()->getBlock(); local 188 if (Phi->getIncomingBlock(i) == IDom) {
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | ConstantHoisting.cpp | 194 auto IDom = DT->getNode(Inst->getParent())->getIDom(); 195 while (IDom->getBlock()->isEHPad()) { 196 assert(Entry != IDom->getBlock() && "eh pad in entry block"); 197 IDom = IDom->getIDom(); 200 return IDom->getBlock()->getTerminator();
|
H A D | LoopStrengthReduce.cpp | 5040 BasicBlock *IDom; local 5045 IDom = Rung->getBlock(); 5048 const Loop *IDomLoop = LI.getLoopFor(IDom); 5055 Tentative = IDom->getTerminator();
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | MemorySSAUpdater.cpp | 840 // If BB has multiple predecessors, get last definition from IDom. 847 if (auto *IDom = DT.getNode(BB)->getIDom()) 848 if (IDom->getBlock() != BB) { 849 BB = IDom->getBlock(); 865 // Get nearest IDom given a set of blocks. 1036 assert(PrevIDom && "Previous IDom should exists"); 1110 auto *IDom = DT.getNode(DominatedBlock)->getIDom(); local 1111 assert(IDom && "Block must have a valid IDom."); 1112 U.set(GetLastDef(IDom [all...] |
H A D | ScalarEvolution.cpp | 5304 BasicBlock *IDom = DT[PN->getParent()]->getIDom()->getBlock(); 5305 assert(IDom && "At least the entry block should dominate PN"); 5307 auto *BI = dyn_cast<BranchInst>(IDom->getTerminator());
|