Lines Matching full:dt

64                            const DominatorTree &DT,
95 static bool domTreeLevelBefore(DominatorTree *DT, const Instruction *InstA, in domTreeLevelBefore() argument
102 DomTreeNode *DA = DT->getNode(InstA->getParent()); in domTreeLevelBefore()
103 DomTreeNode *DB = DT->getNode(InstB->getParent()); in domTreeLevelBefore()
110 const DominatorTree &DT, in collectControlConditions() argument
113 assert(DT.dominates(&Dominator, &BB) && "Expecting Dominator to dominate BB"); in collectControlConditions()
123 // Walk up the dominator tree from the associated DT node for BB to the in collectControlConditions()
124 // associated DT node for Dominator. in collectControlConditions()
126 assert(DT.getNode(CurBlock) && "Expecting a valid DT node for CurBlock"); in collectControlConditions()
127 BasicBlock *IDom = DT.getNode(CurBlock)->getIDom()->getBlock(); in collectControlConditions()
128 assert(DT.dominates(&Dominator, IDom) && in collectControlConditions()
232 const DominatorTree &DT, in isControlFlowEquivalent() argument
234 return isControlFlowEquivalent(*I0.getParent(), *I1.getParent(), DT, PDT); in isControlFlowEquivalent()
238 const DominatorTree &DT, in isControlFlowEquivalent() argument
243 if ((DT.dominates(&BB0, &BB1) && PDT.dominates(&BB1, &BB0)) || in isControlFlowEquivalent()
244 (PDT.dominates(&BB0, &BB1) && DT.dominates(&BB1, &BB0))) in isControlFlowEquivalent()
249 const BasicBlock *CommonDominator = DT.findNearestCommonDominator(&BB0, &BB1); in isControlFlowEquivalent()
255 ControlConditions::collectControlConditions(BB0, *CommonDominator, DT, in isControlFlowEquivalent()
261 ControlConditions::collectControlConditions(BB1, *CommonDominator, DT, in isControlFlowEquivalent()
313 DominatorTree &DT, const PostDominatorTree *PDT, in isSafeToMoveBefore() argument
334 if (!isControlFlowEquivalent(I, InsertPoint, DT, *PDT)) in isSafeToMoveBefore()
337 if (isReachedBefore(&I, &InsertPoint, &DT, PDT)) in isSafeToMoveBefore()
345 if (UserInst != &InsertPoint && !DT.dominates(&InsertPoint, U)) { in isSafeToMoveBefore()
350 DT.dominates(&I, UserInst)) in isSafeToMoveBefore()
355 if (isReachedBefore(&InsertPoint, &I, &DT, PDT)) in isSafeToMoveBefore()
363 DT.dominates(OpInst, &I)) in isSafeToMoveBefore()
365 if (!DT.dominates(OpInst, &InsertPoint)) in isSafeToMoveBefore()
369 DT.updateDFSNumbers(); in isSafeToMoveBefore()
370 const bool MoveForward = domTreeLevelBefore(&DT, &I, &InsertPoint); in isSafeToMoveBefore()
413 DominatorTree &DT, const PostDominatorTree *PDT, in isSafeToMoveBefore() argument
419 return isSafeToMoveBefore(I, InsertPoint, DT, PDT, DI, in isSafeToMoveBefore()
425 DominatorTree &DT, in moveInstructionsToTheBeginning() argument
432 if (isSafeToMoveBefore(I, *MovePos, DT, &PDT, &DI)) in moveInstructionsToTheBeginning()
438 DominatorTree &DT, in moveInstructionsToTheEnd() argument
444 if (isSafeToMoveBefore(I, *MovePos, DT, &PDT, &DI)) in moveInstructionsToTheEnd()
451 const DominatorTree *DT, in nonStrictlyPostDominate() argument
453 assert(isControlFlowEquivalent(*ThisBlock, *OtherBlock, *DT, *PDT) && in nonStrictlyPostDominate()
456 DT->findNearestCommonDominator(ThisBlock, OtherBlock); in nonStrictlyPostDominate()
483 const DominatorTree *DT, in isReachedBefore() argument
488 return DT->dominates(I0, I1); in isReachedBefore()
490 return nonStrictlyPostDominate(BB1, BB0, DT, PDT); in isReachedBefore()