Lines Matching refs:DT
71 DominatorTree &DT, LoopInfo &LI) { in IsAcceptableTarget() argument
92 if (!DT.dominates(Inst->getParent(), SuccToSinkTo)) in IsAcceptableTarget()
109 DominatorTree &DT, LoopInfo &LI, AAResults &AA) { in SinkInstruction() argument
139 if (!DT.isReachableFromEntry(UseBlock)) in SinkInstruction()
148 SuccToSinkTo = DT.findNearestCommonDominator(SuccToSinkTo, UseBlock); in SinkInstruction()
152 if (!DT.dominates(BB, SuccToSinkTo)) in SinkInstruction()
160 !IsAcceptableTarget(Inst, SuccToSinkTo, DT, LI)) in SinkInstruction()
161 SuccToSinkTo = DT.getNode(SuccToSinkTo)->getIDom()->getBlock(); in SinkInstruction()
179 static bool ProcessBlock(BasicBlock &BB, DominatorTree &DT, LoopInfo &LI, in ProcessBlock() argument
187 if (!DT.isReachableFromEntry(&BB)) return false; in ProcessBlock()
208 if (SinkInstruction(Inst, Stores, DT, LI, AA)) { in ProcessBlock()
219 static bool iterativelySinkInstructions(Function &F, DominatorTree &DT, in iterativelySinkInstructions() argument
228 MadeChange |= ProcessBlock(I, DT, LI, AA); in iterativelySinkInstructions()
237 auto &DT = AM.getResult<DominatorTreeAnalysis>(F); in run() local
241 if (!iterativelySinkInstructions(F, DT, LI, AA)) in run()
258 auto &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree(); in runOnFunction() local
262 return iterativelySinkInstructions(F, DT, LI, AA); in runOnFunction()