Lines Matching refs:LI
90 Loop &L, LoopInfo &LI) { in getInnermostLoopFor() argument
93 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor()
112 LoopInfo &LI; member in __anona0e87c8a0111::ConstantTerminatorFoldingImpl
192 if (L.contains(Succ) && !LI.isLoopHeader(Succ) && RPO[BB] > RPO[Succ]) in hasIrreducibleCFG()
204 DFS.perform(&LI); in analyze()
236 bool TakeFoldCandidate = TheOnlySucc && LI.getLoopFor(BB) == &L; in analyze()
274 return !TheOnlySucc || TheOnlySucc == To || LI.getLoopFor(From) != &L; in analyze()
353 Preheader, Preheader->getTerminator(), &DT, &LI, MSSAU); in handleDeadExits()
384 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits()
389 Loop *StillReachable = getInnermostLoopFor(LiveExitBlocks, L, LI); in handleDeadExits()
394 LI.changeLoopFor(NewPreheader, StillReachable); in handleDeadExits()
402 LI.addTopLevelLoop(&L); in handleDeadExits()
417 formLCSSARecursively(*FixLCSSALoop, DT, &LI, &SE); in handleDeadExits()
447 if (LI.isLoopHeader(BB)) { in deleteDeadLoopBlocks()
448 assert(LI.getLoopFor(BB) != &L && "Attempt to remove current loop!"); in deleteDeadLoopBlocks()
449 Loop *DL = LI.getLoopFor(BB); in deleteDeadLoopBlocks()
455 LI.addTopLevelLoop(DL); in deleteDeadLoopBlocks()
457 LI.erase(DL); in deleteDeadLoopBlocks()
465 LI.removeBlock(BB); in deleteDeadLoopBlocks()
481 assert(LI.getLoopFor(BB) == &L && "Should be a loop block!"); in foldTerminators()
528 ConstantTerminatorFoldingImpl(Loop &L, LoopInfo &LI, DominatorTree &DT, in ConstantTerminatorFoldingImpl() argument
531 : L(L), LI(LI), DT(DT), SE(SE), MSSAU(MSSAU), DFS(&L), in ConstantTerminatorFoldingImpl()
628 LI.verify(DT); in run()
642 static bool constantFoldTerminators(Loop &L, DominatorTree &DT, LoopInfo &LI, in constantFoldTerminators() argument
654 ConstantTerminatorFoldingImpl BranchFolder(L, LI, DT, SE, MSSAU); in constantFoldTerminators()
661 LoopInfo &LI, MemorySSAUpdater *MSSAU, in mergeBlocksIntoPredecessors() argument
677 if (!Pred || !Pred->getSingleSuccessor() || LI.getLoopFor(Pred) != &L) in mergeBlocksIntoPredecessors()
681 MergeBlockIntoPredecessor(Succ, &DTU, &LI, MSSAU); in mergeBlocksIntoPredecessors()
695 static bool simplifyLoopCFG(Loop &L, DominatorTree &DT, LoopInfo &LI, in simplifyLoopCFG() argument
701 Changed |= constantFoldTerminators(L, DT, LI, SE, MSSAU, IsLoopDeleted); in simplifyLoopCFG()
707 Changed |= mergeBlocksIntoPredecessors(L, DT, LI, MSSAU, SE); in simplifyLoopCFG()
722 if (!simplifyLoopCFG(L, AR.DT, AR.LI, AR.SE, MSSAU ? &*MSSAU : nullptr, in run()