Lines Matching refs:BECount

202   bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount,
208 bool processLoopStores(SmallVectorImpl<StoreInst *> &SL, const SCEV *BECount,
215 const SCEV *BECount);
216 bool processLoopMemCpy(MemCpyInst *MCI, const SCEV *BECount);
217 bool processLoopMemSet(MemSetInst *MSI, const SCEV *BECount);
223 const SCEVAddRecExpr *Ev, const SCEV *BECount,
225 bool processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount);
232 const SCEV *BECount);
386 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); in runOnCountableLoop() local
387 assert(!isa<SCEVCouldNotCompute>(BECount) && in runOnCountableLoop()
393 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) in runOnCountableLoop()
420 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop()
622 BasicBlock *BB, const SCEV *BECount, in runOnLoopBlock() argument
639 MadeChange |= processLoopStores(SL.second, BECount, ForMemset::Yes); in runOnLoopBlock()
642 MadeChange |= processLoopStores(SL.second, BECount, ForMemset::No); in runOnLoopBlock()
646 MadeChange |= processLoopStoreOfLoopLoad(SI, BECount); in runOnLoopBlock()
649 BB, &LoopIdiomRecognize::processLoopMemCpy, BECount); in runOnLoopBlock()
651 BB, &LoopIdiomRecognize::processLoopMemSet, BECount); in runOnLoopBlock()
658 const SCEV *BECount, ForMemset For) { in processLoopStores() argument
789 HeadStore, AdjacentStores, StoreEv, BECount, in processLoopStores()
805 const SCEV *BECount) { in processLoopMemIntrinsic() argument
812 if (!(this->*Processor)(MI, BECount)) in processLoopMemIntrinsic()
827 const SCEV *BECount) { in processLoopMemCpy() argument
891 BECount); in processLoopMemCpy()
896 const SCEV *BECount) { in processLoopMemSet() argument
998 BECount, IsNegStride, /*IsLoopMemset=*/true); in processLoopMemSet()
1006 const SCEV *BECount, const SCEV *StoreSizeSCEV, in mayLoopAccessLocation() argument
1016 const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount); in mayLoopAccessLocation()
1040 static const SCEV *getStartForNegStride(const SCEV *Start, const SCEV *BECount, in getStartForNegStride() argument
1043 const SCEV *Index = SE->getTruncateOrZeroExtend(BECount, IntPtr); in getStartForNegStride()
1055 static const SCEV *getTripCount(const SCEV *BECount, Type *IntPtr, in getTripCount() argument
1065 if (DL->getTypeSizeInBits(BECount->getType()) < in getTripCount()
1068 CurLoop, ICmpInst::ICMP_NE, BECount, in getTripCount()
1069 SE->getNegativeSCEV(SE->getOne(BECount->getType())))) { in getTripCount()
1071 SE->getAddExpr(BECount, SE->getOne(BECount->getType()), SCEV::FlagNUW), in getTripCount()
1074 TripCountS = SE->getAddExpr(SE->getTruncateOrZeroExtend(BECount, IntPtr), in getTripCount()
1085 static const SCEV *getNumBytes(const SCEV *BECount, Type *IntPtr, in getNumBytes() argument
1088 const SCEV *TripCountSCEV = getTripCount(BECount, IntPtr, CurLoop, DL, SE); in getNumBytes()
1101 const SCEV *BECount, bool IsNegStride, bool IsLoopMemset) { in processLoopStridedStore() argument
1128 Start = getStartForNegStride(Start, BECount, IntIdxTy, StoreSizeSCEV, SE); in processLoopStridedStore()
1152 if (mayLoopAccessLocation(BasePtr, ModRefInfo::ModRef, CurLoop, BECount, in processLoopStridedStore()
1162 getNumBytes(BECount, IntIdxTy, StoreSizeSCEV, CurLoop, DL, SE); in processLoopStridedStore()
1253 const SCEV *BECount) { in processLoopStoreOfLoopLoad() argument
1273 StoreEv, LoadEv, BECount); in processLoopStoreOfLoopLoad()
1324 const SCEVAddRecExpr *LoadEv, const SCEV *BECount) { in processLoopStoreOfLoopLoad() argument
1358 getStartForNegStride(StrStart, BECount, IntIdxTy, StoreSizeSCEV, SE); in processLoopStoreOfLoopLoad()
1385 mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount, in processLoopStoreOfLoopLoad()
1395 BECount, StoreSizeSCEV, *AA, IgnoredInsts)) { in processLoopStoreOfLoopLoad()
1415 getStartForNegStride(LdStart, BECount, IntIdxTy, StoreSizeSCEV, SE); in processLoopStoreOfLoopLoad()
1427 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount, in processLoopStoreOfLoopLoad()
1451 getNumBytes(BECount, IntIdxTy, StoreSizeSCEV, CurLoop, DL, SE); in processLoopStoreOfLoopLoad()