Lines Matching defs:LI
115 ConvergenceRegion::ConvergenceRegion(DominatorTree &DT, LoopInfo &LI,
117 : DT(DT), LI(LI), Parent(nullptr) {
128 DominatorTree &DT, LoopInfo &LI,
131 : DT(DT), LI(LI), ConvergenceToken(ConvergenceToken), Entry(Entry),
193 ConvergenceRegionAnalyzer(Function &F, DominatorTree &DT, LoopInfo &LI)
194 : DT(DT), LI(LI), F(F) {}
205 if (!LI.isLoopHeader(To))
208 auto *L = LI.getLoopFor(To);
216 findPathsToMatch(LoopInfo &LI, BasicBlock *From,
230 auto ChildSet = findPathsToMatch(LI, To, isMatch);
236 if (LI.isLoopHeader(From)) {
237 auto *L = LI.getLoopFor(From);
265 ConvergenceRegion *TopLevelRegion = new ConvergenceRegion(DT, LI, F);
267 for (auto *L : LI.getLoopsInPreorder())
281 auto N = findPathsToMatch(LI, Exit, [&CT](const BasicBlock *block) {
293 DT, LI, CT, L->getHeader(), std::move(RegionBlocks),
305 LoopInfo &LI;
310 LoopInfo &LI) {
311 ConvergenceRegionAnalyzer Analyzer(F, DT, LI);
325 LoopInfo &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
327 CRI = SPIRV::getConvergenceRegions(F, DT, LI);
336 auto &LI = AM.getResult<LoopAnalysis>(F);
337 CRI = SPIRV::getConvergenceRegions(F, DT, LI);