Lines Matching refs:LI
91 Loop &L, LoopInfo &LI) { in getInnermostLoopFor() argument
94 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor()
113 LoopInfo &LI; member in __anon64818a000111::ConstantTerminatorFoldingImpl
193 if (L.contains(Succ) && !LI.isLoopHeader(Succ) && RPO[BB] > RPO[Succ]) in hasIrreducibleCFG()
205 DFS.perform(&LI); in analyze()
237 bool TakeFoldCandidate = TheOnlySucc && LI.getLoopFor(BB) == &L; in analyze()
275 return !TheOnlySucc || TheOnlySucc == To || LI.getLoopFor(From) != &L; in analyze()
354 Preheader, Preheader->getTerminator(), &DT, &LI, MSSAU); in handleDeadExits()
385 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits()
390 Loop *StillReachable = getInnermostLoopFor(LiveExitBlocks, L, LI); in handleDeadExits()
395 LI.changeLoopFor(NewPreheader, StillReachable); in handleDeadExits()
403 LI.addTopLevelLoop(&L); in handleDeadExits()
418 formLCSSARecursively(*FixLCSSALoop, DT, &LI, &SE); in handleDeadExits()
448 if (LI.isLoopHeader(BB)) { in deleteDeadLoopBlocks()
449 assert(LI.getLoopFor(BB) != &L && "Attempt to remove current loop!"); in deleteDeadLoopBlocks()
450 Loop *DL = LI.getLoopFor(BB); in deleteDeadLoopBlocks()
456 LI.addTopLevelLoop(DL); in deleteDeadLoopBlocks()
458 LI.erase(DL); in deleteDeadLoopBlocks()
466 LI.removeBlock(BB); in deleteDeadLoopBlocks()
482 assert(LI.getLoopFor(BB) == &L && "Should be a loop block!"); in foldTerminators()
529 ConstantTerminatorFoldingImpl(Loop &L, LoopInfo &LI, DominatorTree &DT, in ConstantTerminatorFoldingImpl() argument
532 : L(L), LI(LI), DT(DT), SE(SE), MSSAU(MSSAU), DFS(&L), in ConstantTerminatorFoldingImpl()
629 LI.verify(DT); in run()
643 static bool constantFoldTerminators(Loop &L, DominatorTree &DT, LoopInfo &LI, in constantFoldTerminators() argument
655 ConstantTerminatorFoldingImpl BranchFolder(L, LI, DT, SE, MSSAU); in constantFoldTerminators()
662 LoopInfo &LI, MemorySSAUpdater *MSSAU, in mergeBlocksIntoPredecessors() argument
678 if (!Pred || !Pred->getSingleSuccessor() || LI.getLoopFor(Pred) != &L) in mergeBlocksIntoPredecessors()
682 MergeBlockIntoPredecessor(Succ, &DTU, &LI, MSSAU); in mergeBlocksIntoPredecessors()
696 static bool simplifyLoopCFG(Loop &L, DominatorTree &DT, LoopInfo &LI, in simplifyLoopCFG() argument
702 Changed |= constantFoldTerminators(L, DT, LI, SE, MSSAU, IsLoopDeleted); in simplifyLoopCFG()
708 Changed |= mergeBlocksIntoPredecessors(L, DT, LI, MSSAU, SE); in simplifyLoopCFG()
723 if (!simplifyLoopCFG(L, AR.DT, AR.LI, AR.SE, MSSAU ? &*MSSAU : nullptr, in run()