reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
353 CurLoop = L; 383 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); 395 CurLoop->getUniqueExitBlocks(ExitBlocks); 398 << CurLoop->getHeader()->getParent()->getName() 399 << "] Countable Loop %" << CurLoop->getHeader()->getName() 407 SafetyInfo.computeLoopSafetyInfo(CurLoop); 412 for (auto *BB : CurLoop->getBlocks()) { 414 if (LI->getLoopFor(BB) != CurLoop) 502 if (!StoreEv || StoreEv->getLoop() != CurLoop || !StoreEv->isAffine()) 526 CurLoop->isLoopInvariant(SplatValue)) { 561 if (!LoadEv || LoadEv->getLoop() != CurLoop || !LoadEv->isAffine()) 822 if (!Ev || Ev->getLoop() != CurLoop || !Ev->isAffine()) 843 if (!SplatValue || !CurLoop->isLoopInvariant(SplatValue)) 958 BasicBlock *Preheader = CurLoop->getLoopPreheader(); 982 if (mayLoopAccessLocation(BasePtr, ModRefInfo::ModRef, CurLoop, BECount, 996 getNumBytes(BECount, IntPtr, StoreSize, CurLoop, DL, SE); 1078 BasicBlock *Preheader = CurLoop->getLoopPreheader(); 1101 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount, 1121 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount, 1136 getNumBytes(BECount, IntPtrTy, StoreSize, CurLoop, DL, SE); 1196 if (ApplyCodeSizeHeuristics && CurLoop->getNumBlocks() > 1) { 1197 if (!CurLoop->getParentLoop() && (!IsMemset || !IsLoopMemset)) { 1198 LLVM_DEBUG(dbgs() << " " << CurLoop->getHeader()->getParent()->getName() 1210 << CurLoop->getHeader()->getParent()->getName() 1212 << CurLoop->getHeader()->getName() << "\n"); 1496 if (CurLoop->getNumBackEdges() != 1 || CurLoop->getNumBlocks() != 1) 1496 if (CurLoop->getNumBackEdges() != 1 || CurLoop->getNumBlocks() != 1) 1508 if (!detectShiftUntilZeroIdiom(CurLoop, *DL, IntrinID, InitX, 1514 if (!CurLoop->contains(cast<Instruction>(U))) { 1520 if (!CurLoop->contains(cast<Instruction>(U))) { 1535 BasicBlock *PH = CurLoop->getLoopPreheader(); 1569 auto InstWithoutDebugIt = CurLoop->getHeader()->instructionsWithoutDebug(); 1598 if (CurLoop->getNumBackEdges() != 1 || CurLoop->getNumBlocks() != 1) 1598 if (CurLoop->getNumBackEdges() != 1 || CurLoop->getNumBlocks() != 1) 1601 BasicBlock *LoopBody = *(CurLoop->block_begin()); 1608 BasicBlock *PH = CurLoop->getLoopPreheader(); 1627 if (!detectPopcountIdiom(CurLoop, PreCondBB, CntInst, CntPhi, Val)) 1750 BasicBlock *Body = *(CurLoop->block_begin()); 1780 SE->forgetLoop(CurLoop); 1786 BasicBlock *PreHead = CurLoop->getLoopPreheader(); 1856 BasicBlock *Body = *(CurLoop->block_begin()); 1886 SE->forgetLoop(CurLoop); 1914 if (!match(CurLoop->getHeader()->getTerminator(), 1918 !match(CurLoop->getLoopLatch()->getTerminator(), 1960 BasicBlock *LoopHeaderBB = CurLoop->getHeader(); 1961 BasicBlock *LoopLatchBB = CurLoop->getLoopLatch(); 1973 CurLoop->getUniqueExitBlocks(ExitBlocks); 1992 assert(CurLoop->isLCSSAForm(*DT) && "Should only get LCSSA-form loops here."); 2000 return CurLoop->contains(PredecessorBB); 2004 if (I && CurLoop->contains(I)) { 2016 for (BasicBlock *LoopBB : CurLoop->blocks()) { 2040 SE->getSCEVAtScope(CmpOfLoads.LoadSrcA, CurLoop)); 2042 SE->getSCEVAtScope(CmpOfLoads.LoadSrcB, CurLoop)); 2055 ScevForSrcA->getLoop() != CurLoop || ScevForSrcB->getLoop() != CurLoop || 2055 ScevForSrcA->getLoop() != CurLoop || ScevForSrcB->getLoop() != CurLoop || 2075 !SE->isAvailableAtLoopEntry(SrcA, CurLoop) || 2076 !SE->isAvailableAtLoopEntry(SrcB, CurLoop)) { 2091 SE->getExitCount(CurLoop, CurLoop->getLoopLatch()); 2091 SE->getExitCount(CurLoop, CurLoop->getLoopLatch()); 2099 !SE->isAvailableAtLoopEntry(LoopExitCount, CurLoop)) { 2133 if (!CurLoop->isLoopSimplifyForm() || CurLoop->getNumBlocks() > 2) { 2133 if (!CurLoop->isLoopSimplifyForm() || CurLoop->getNumBlocks() > 2) { 2209 CurLoop->getHeader()) 2218 CurLoop->getStartLoc(), 2219 CurLoop->getHeader()) 2231 BasicBlock *PreheaderBB = CurLoop->getLoopPreheader(); 2232 BasicBlock *HeaderBB = CurLoop->getHeader(); 2233 BasicBlock *LoopLatchBB = CurLoop->getLoopLatch(); 2234 SmallString<32> LoopName = CurLoop->getName(); 2239 SE->forgetLoop(CurLoop); 2329 assert(CurLoop->contains(OldBB) && "Only for loop's basic blocks."); 2330 if (OldBB == CurLoop->getLoopLatch()) // "all elements compared equal". 2332 if (OldBB == CurLoop->getHeader()) // "element compared unequal". 2339 CurLoop->getExitEdges(LoopExitEdges); 2346 assert(CurLoop->contains(OldLoopBB) && !CurLoop->contains(SuccessorBB) && 2346 assert(CurLoop->contains(OldLoopBB) && !CurLoop->contains(SuccessorBB) && 2404 Loop *ParentLoop = CurLoop->getParentLoop(); 2406 LoopDeleter.markLoopAsDeleted(CurLoop); // Mark as deleted *BEFORE* deleting! 2407 deleteDeadLoop(CurLoop, DT, SE, LI); // And actually delete the loop. 2408 CurLoop = nullptr; 2597 IRBuilder<> Builder(CurLoop->getLoopPreheader()->getTerminator());