Lines Matching refs:BECount

193   bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount,
199 bool processLoopStores(SmallVectorImpl<StoreInst *> &SL, const SCEV *BECount,
206 const SCEV *BECount);
207 bool processLoopMemCpy(MemCpyInst *MCI, const SCEV *BECount);
208 bool processLoopMemSet(MemSetInst *MSI, const SCEV *BECount);
214 const SCEVAddRecExpr *Ev, const SCEV *BECount,
216 bool processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount);
223 const SCEV *BECount);
313 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); in runOnCountableLoop() local
314 assert(!isa<SCEVCouldNotCompute>(BECount) && in runOnCountableLoop()
320 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) in runOnCountableLoop()
347 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop()
549 BasicBlock *BB, const SCEV *BECount, in runOnLoopBlock() argument
566 MadeChange |= processLoopStores(SL.second, BECount, ForMemset::Yes); in runOnLoopBlock()
569 MadeChange |= processLoopStores(SL.second, BECount, ForMemset::No); in runOnLoopBlock()
573 MadeChange |= processLoopStoreOfLoopLoad(SI, BECount); in runOnLoopBlock()
576 BB, &LoopIdiomRecognize::processLoopMemCpy, BECount); in runOnLoopBlock()
578 BB, &LoopIdiomRecognize::processLoopMemSet, BECount); in runOnLoopBlock()
585 const SCEV *BECount, ForMemset For) { in processLoopStores() argument
716 HeadStore, AdjacentStores, StoreEv, BECount, in processLoopStores()
732 const SCEV *BECount) { in processLoopMemIntrinsic() argument
739 if (!(this->*Processor)(MI, BECount)) in processLoopMemIntrinsic()
754 const SCEV *BECount) { in processLoopMemCpy() argument
818 BECount); in processLoopMemCpy()
823 const SCEV *BECount) { in processLoopMemSet() argument
925 BECount, IsNegStride, /*IsLoopMemset=*/true); in processLoopMemSet()
933 const SCEV *BECount, const SCEV *StoreSizeSCEV, in mayLoopAccessLocation() argument
943 const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount); in mayLoopAccessLocation()
970 static const SCEV *getStartForNegStride(const SCEV *Start, const SCEV *BECount, in getStartForNegStride() argument
973 const SCEV *Index = SE->getTruncateOrZeroExtend(BECount, IntPtr); in getStartForNegStride()
988 static const SCEV *getNumBytes(const SCEV *BECount, Type *IntPtr, in getNumBytes() argument
992 SE->getTripCountFromExitCount(BECount, IntPtr, CurLoop); in getNumBytes()
1004 const SCEV *BECount, bool IsNegStride, bool IsLoopMemset) { in processLoopStridedStore() argument
1031 Start = getStartForNegStride(Start, BECount, IntIdxTy, StoreSizeSCEV, SE); in processLoopStridedStore()
1055 if (mayLoopAccessLocation(BasePtr, ModRefInfo::ModRef, CurLoop, BECount, in processLoopStridedStore()
1065 getNumBytes(BECount, IntIdxTy, StoreSizeSCEV, CurLoop, DL, SE); in processLoopStridedStore()
1169 const SCEV *BECount) { in processLoopStoreOfLoopLoad() argument
1189 StoreEv, LoadEv, BECount); in processLoopStoreOfLoopLoad()
1242 const SCEVAddRecExpr *LoadEv, const SCEV *BECount) { in processLoopStoreOfLoopLoad() argument
1276 getStartForNegStride(StrStart, BECount, IntIdxTy, StoreSizeSCEV, SE); in processLoopStoreOfLoopLoad()
1303 mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount, in processLoopStoreOfLoopLoad()
1313 BECount, StoreSizeSCEV, *AA, IgnoredInsts)) { in processLoopStoreOfLoopLoad()
1333 getStartForNegStride(LdStart, BECount, IntIdxTy, StoreSizeSCEV, SE); in processLoopStoreOfLoopLoad()
1345 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount, in processLoopStoreOfLoopLoad()
1369 getNumBytes(BECount, IntIdxTy, StoreSizeSCEV, CurLoop, DL, SE); in processLoopStoreOfLoopLoad()