Lines Matching refs:DT
38 DominatorTree &DT) { in AllUsesDominatedByBlock() argument
54 if (!DT.dominates(BB, UseBlock)) in AllUsesDominatedByBlock()
96 DominatorTree &DT, LoopInfo &LI) { in IsAcceptableTarget() argument
122 if (!DT.dominates(Inst->getParent(), SuccToSinkTo)) in IsAcceptableTarget()
134 return AllUsesDominatedByBlock(Inst, SuccToSinkTo, DT); in IsAcceptableTarget()
141 DominatorTree &DT, LoopInfo &LI, AAResults &AA) { in SinkInstruction() argument
168 DomTreeNode *DTN = DT.getNode(Inst->getParent()); in SinkInstruction()
173 IsAcceptableTarget(Inst, Candidate, DT, LI)) in SinkInstruction()
181 if (IsAcceptableTarget(Inst, *I, DT, LI)) in SinkInstruction()
200 static bool ProcessBlock(BasicBlock &BB, DominatorTree &DT, LoopInfo &LI, in ProcessBlock() argument
208 if (!DT.isReachableFromEntry(&BB)) return false; in ProcessBlock()
229 if (SinkInstruction(Inst, Stores, DT, LI, AA)) { in ProcessBlock()
240 static bool iterativelySinkInstructions(Function &F, DominatorTree &DT, in iterativelySinkInstructions() argument
249 MadeChange |= ProcessBlock(I, DT, LI, AA); in iterativelySinkInstructions()
258 auto &DT = AM.getResult<DominatorTreeAnalysis>(F); in run() local
262 if (!iterativelySinkInstructions(F, DT, LI, AA)) in run()
280 auto &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree(); in runOnFunction() local
284 return iterativelySinkInstructions(F, DT, LI, AA); in runOnFunction()