Searched refs:IDom (Results 1 - 15 of 15) sorted by relevance

/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericDomTree.h62 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 DGenericDomTreeConstruction.h66 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 DSSAUpdaterImpl.h57 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 DDominators.h96 << "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 DShrinkWrap.cpp316 MachineBasicBlock *IDom = &Block; local
318 IDom = Dom.findNearestCommonDominator(IDom, BB);
319 if (!IDom)
322 if (IDom == &Block)
324 return IDom;
H A DLiveRangeCalc.cpp498 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 DSplitKit.cpp937 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 DSSAUpdaterBulk.cpp80 BasicBlock *IDom = DT->getNode(BB)->getIDom()->getBlock();
81 Value *V = computeValueAt(IDom, R, DT);
H A DLoopUnrollPeel.cpp521 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 DLSUnit.cpp91 MemoryGroup &IDom = getGroup(ImmediateLoadDominator); local
94 IDom.addSuccessor(&NewGroup);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIAnnotateControlFlow.cpp186 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 DConstantHoisting.cpp194 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 DLoopStrengthReduce.cpp5040 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 DMemorySSAUpdater.cpp840 // 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 DScalarEvolution.cpp5304 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());

Completed in 315 milliseconds