Home
last modified time | relevance | path

Searched refs:DomTreeNode (Results 1 – 25 of 38) sorted by relevance

12

/llvm-project/llvm/include/llvm/Analysis/
H A DDomPrinter.h24 struct DOTGraphTraits<DomTreeNode *> : public DefaultDOTGraphTraits {
28 std::string getNodeLabel(DomTreeNode *Node, DomTreeNode *Graph) {
44 : public DOTGraphTraits<DomTreeNode *> {
47 : DOTGraphTraits<DomTreeNode *>(isSimple) {}
53 std::string getNodeLabel(DomTreeNode *Node, DominatorTree *G) {
54 return DOTGraphTraits<DomTreeNode *>::getNodeLabel(Node,
61 : public DOTGraphTraits<DomTreeNode*> {
64 : DOTGraphTraits<DomTreeNode*>(isSimple) {}
70 std::string getNodeLabel(DomTreeNode *Nod
[all...]
H A DPostDominators.h101 : public GraphTraits<DomTreeNode*> {
/llvm-project/clang/include/clang/Analysis/Analyses/
H A DDominators.h38 using DomTreeNode = llvm::DomTreeNodeBase<CFGBlock>; variable
66 DomTreeNode *getRootNode() { in getRootNode()
74 DomTreeNode *R = getRootNode(); in compare()
75 DomTreeNode *OtherR = Other.getRootNode(); in compare()
104 DomTreeNode *IDom = DT.getNode(*I)->getIDom(); in dump()
280 template <> struct GraphTraits<clang::DomTreeNode *> {
281 using NodeRef = ::clang::DomTreeNode *;
282 using ChildIteratorType = ::clang::DomTreeNode::const_iterator;
289 llvm::pointer_iterator<df_iterator<::clang::DomTreeNode *>>;
291 static nodes_iterator nodes_begin(::clang::DomTreeNode *N) {
[all …]
/llvm-project/llvm/include/llvm/IR/
H A DDominators.h92 using DomTreeNode = DomTreeNodeBase<BasicBlock>; variable
256 struct GraphTraits<DomTreeNode *>
257 : public DomTreeGraphTraitsBase<DomTreeNode, DomTreeNode::const_iterator> {
261 struct GraphTraits<const DomTreeNode *>
262 : public DomTreeGraphTraitsBase<const DomTreeNode,
263 DomTreeNode::const_iterator> {};
266 : public GraphTraits<DomTreeNode*> {
/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h25 using DomTreeNode = DomTreeNodeBase<BasicBlock>;
147 /// iteration. Takes DomTreeNode, AAResults, LoopInfo, DominatorTree,
153 bool sinkRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *,
161 bool sinkRegionForLoopNest(DomTreeNode *, AAResults *, LoopInfo *,
171 /// Takes DomTreeNode, AAResults, LoopInfo, DominatorTree,
177 bool hoistRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *,
229 collectChildrenInLoop(DominatorTree *DT, DomTreeNode *N, const Loop *CurLoop);
23 using DomTreeNode = DomTreeNodeBase<BasicBlock>; global() variable
/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUnroll.cpp225 DomTreeNode *Node;
226 DomTreeNode::const_iterator ChildIter;
227 DomTreeNode::const_iterator EndIter;
232 unsigned cg, DomTreeNode *N, DomTreeNode::const_iterator Child,
233 DomTreeNode::const_iterator End) in StackNode()
240 DomTreeNode *node() { return Node; } in childGeneration()
241 DomTreeNode::const_iterator childIter() const { return ChildIter; } in childGeneration()
243 DomTreeNode *nextChild() { in childIter()
244 DomTreeNode *Chil in childIter()
[all...]
H A DPredicateInfo.cpp161 DomTreeNode *DomASrc = DT.getNode(ASrc); in comparePHIRelated()
162 DomTreeNode *DomBSrc = DT.getNode(BSrc); in comparePHIRelated()
174 DomTreeNode *DomADest = DT.getNode(ADest); in comparePHIRelated()
175 DomTreeNode *DomBDest = DT.getNode(BDest); in comparePHIRelated()
344 DomTreeNode *DomNode = DT.getNode(IBlock); in convertUsesToDFSOrdered()
628 DomTreeNode *DomNode = DT.getNode(PAssume->AssumeInst->getParent()); in renameUses()
H A DCodeMoverUtils.cpp102 DomTreeNode *DA = DT->getNode(InstA->getParent()); in domTreeLevelBefore()
103 DomTreeNode *DB = DT->getNode(InstB->getParent()); in domTreeLevelBefore()
H A DBasicBlockUtils.cpp239 DomTreeNode *PredNode = DT->getNode(PredBB); in MergeBlockIntoPredecessor()
240 DomTreeNode *BBNode = DT->getNode(BB); in MergeBlockIntoPredecessor()
243 for (DomTreeNode *C : to_vector(BBNode->children())) in MergeBlockIntoPredecessor()
1068 if (DomTreeNode *OldNode = DT->getNode(Old)) { in SplitBlockImpl()
1069 std::vector<DomTreeNode *> Children(OldNode->begin(), OldNode->end()); in SplitBlockImpl()
1071 DomTreeNode *NewNode = DT->addNewBlock(New, Old); in SplitBlockImpl()
1072 for (DomTreeNode *I : Children) in SplitBlockImpl()
H A DLoopUtils.cpp450 DomTreeNode *N, in collectChildrenInLoop()
453 auto AddRegionToWorklist = [&](DomTreeNode *DTN) { in collectChildrenInLoop()
463 for (DomTreeNode *Child : DT->getNode(Worklist[I])->children()) in collectChildrenInLoop()
H A DLoopSimplify.cpp671 DomTreeNode *Node = DT->getNode(ExitingBlock); in simplifyOneLoop()
673 DomTreeNode *Child = Node->back(); in simplifyOneLoop()
H A DCodeExtractor.cpp808 DomTreeNode *OldNode = DT->getNode(Block); in splitReturnBlocks()
809 SmallVector<DomTreeNode *, 8> Children(OldNode->begin(), in splitReturnBlocks()
812 DomTreeNode *NewNode = DT->addNewBlock(New, Block);
814 for (DomTreeNode *I : Children)
H A DLCSSA.cpp144 const DomTreeNode *DomNode = DT.getNode(DomBB); in formLCSSAForInstructions()
/llvm-project/llvm/lib/Transforms/Scalar/
H A DEarlyCSE.cpp773 GEPHTType &AvailableGEPs, unsigned cg, DomTreeNode *n, in StackNode()
774 DomTreeNode::const_iterator child, in StackNode()
775 DomTreeNode::const_iterator end) in StackNode()
787 DomTreeNode *node() { return Node; } in childIter()
788 DomTreeNode::const_iterator childIter() const { return ChildIter; }
790 DomTreeNode *nextChild() { in nextChild()
791 DomTreeNode *child = *ChildIter; in nextChild()
796 DomTreeNode::const_iterator end() const { return EndIter; } in isProcessed()
803 DomTreeNode *Node;
804 DomTreeNode
[all...]
H A DConstraintElimination.cpp129 FactOrCheck(EntryTy Ty, DomTreeNode *DTN, Instruction *Inst)
133 FactOrCheck(DomTreeNode *DTN, Use *U)
137 FactOrCheck(DomTreeNode *DTN, CmpPredicate Pred, Value *Op0, Value *Op1, in FactOrCheck()
142 static FactOrCheck getConditionFact(DomTreeNode *DTN, CmpPredicate Pred, in FactOrCheck()
148 static FactOrCheck getInstFact(DomTreeNode *DTN, Instruction *Inst) { in getConditionFact()
152 static FactOrCheck getCheck(DomTreeNode *DTN, Use *U) { in getInstFact()
156 static FactOrCheck getCheck(DomTreeNode *DTN, CallInst *CI) { in getCheck()
984 DomTreeNode *DTN = DT.getNode(InLoopSucc); in addInfoForInductions()
H A DGuardWidening.cpp142 DomTreeNode *Root;
158 Instruction *Instr, const df_iterator<DomTreeNode *> &DFSI,
323 MemorySSAUpdater *MSSAU, DomTreeNode *Root, in GuardWideningImpl()
377 Instruction *Instr, const df_iterator<DomTreeNode *> &DFSI, in eliminateInstrViaWidening()
H A DLICM.cpp555 bool llvm::sinkRegion(DomTreeNode *N, AAResults *AA, LoopInfo *LI, in sinkRegion()
622 bool llvm::sinkRegionForLoopNest(DomTreeNode *N, AAResults *AA, LoopInfo *LI, in sinkRegionForLoopNest()
847 DomTreeNode *PreheaderNode = DT->getNode(HoistCommonSucc); in getOrCreateHoistedBlock()
848 DomTreeNode *HeaderNode = DT->getNode(CurLoop->getHeader()); in getOrCreateHoistedBlock()
875 bool llvm::hoistRegion(DomTreeNode *N, AAResults *AA, LoopInfo *LI, in hoistRegion()
H A DSimpleLoopUnswitch.cpp2116 SmallVector<DomTreeNode *, 4> DomWorklist; in visitDomSubTree()
2119 SmallPtrSet<DomTreeNode *, 4> Visited; in visitDomSubTree()
2123 DomTreeNode *N = DomWorklist.pop_back_val(); in visitDomSubTree()
2130 for (DomTreeNode *ChildN : *N) { in postUnswitch()
2661 DomTreeNode &N, in computeDomSubtreeCost()
2663 SmallDenseMap<DomTreeNode *, InstructionCost, 4> &DTCostMap) { in computeDomSubtreeCost()
2679 [&](InstructionCost Sum, DomTreeNode *ChildN) -> InstructionCost {
3368 SmallDenseMap<DomTreeNode *, InstructionCost, 4> DTCostMap; in findBestNonTrivialUnswitchCandidate()
2646 computeDomSubtreeCost(DomTreeNode & N,const SmallDenseMap<BasicBlock *,InstructionCost,4> & BBCostMap,SmallDenseMap<DomTreeNode *,InstructionCost,4> & DTCostMap) computeDomSubtreeCost() argument
H A DADCE.cpp303 for (const auto &PDTChild : children<DomTreeNode *>(PDT.getRootNode())) { in initialize()
H A DNewGVN.cpp521 DenseMap<const DomTreeNode *, unsigned> RPOOrdering;
3491 llvm::sort(*Node, [&](const DomTreeNode *A, const DomTreeNode *B) { in runGVN()
3626 DomTreeNode *DomNode = DT->getNode(BB); in convertClassToDFSOrdered()
3685 DomTreeNode *DomNode = DT->getNode(IBlock); in convertClassToLoadsAndStores()
3715 DomTreeNode *DomNode = DT->getNode(BB); in deleteInstructionsInBlock()
/llvm-project/llvm/lib/FuzzMutate/
H A DRandomIRBuilder.cpp30 DomTreeNode *Node = DT.getNode(BB); in getDominators()
49 DomTreeNode *Parent = DT.getNode(BB); in getDominatees()
54 for (DomTreeNode *Child : Parent->children()) in getDominatees()
58 DomTreeNode *Node = DT[ret[Idx]]; in getDominatees()
60 for (DomTreeNode *Child : Node->children()) in getDominatees()
/llvm-project/llvm/lib/Analysis/
H A DMemorySSA.cpp532 DomTreeNode *Node = DT.getNode(BB); in getWalkTarget()
969 DomTreeNode *DTN;
970 DomTreeNode::const_iterator ChildIt;
973 RenamePassData(DomTreeNode *D, DomTreeNode::const_iterator It, in RenamePassData()
1146 void MemorySSA::renamePass(DomTreeNode *Root, MemoryAccess *IncomingVal, in renamePass()
1164 DomTreeNode *Node = WorkStack.back().DTN; in renamePass()
1165 DomTreeNode::const_iterator ChildIt = WorkStack.back().ChildIt; in renamePass()
1171 DomTreeNode *Child = *ChildIt; in renamePass()
/llvm-project/llvm/include/llvm/Support/
H A DGenericDomTree.h218 /// Default DomTreeNode traits for NodeT. The default implementation assume a
403 "cannot get DomTreeNode of block with different parent");
/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonCommonGEP.cpp330 for (auto *DTN : children<DomTreeNode*>(DT->getNode(Root))) in getBlockTraversalOrder()
798 DomTreeNode *N = (*DT)[DomB]->getIDom(); in recalculatePlacement()
858 DomTreeNode *DN = DT->getNode(L->getHeader()); in preheader()
1232 for (auto *DTN : children<DomTreeNode *>(DT->getNode(B))) in removeDeadCode()
H A DHexagonGenExtract.cpp226 for (auto *DTN : children<DomTreeNode*>(DT->getNode(B))) in visitBlock()

12