Home
last modified time | relevance | path

Searched refs:BECount (Results 1 – 9 of 9) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopIdiomRecognize.cpp213 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount,
219 bool processLoopStores(SmallVectorImpl<StoreInst *> &SL, const SCEV *BECount,
226 const SCEV *BECount);
227 bool processLoopMemCpy(MemCpyInst *MCI, const SCEV *BECount);
228 bool processLoopMemSet(MemSetInst *MSI, const SCEV *BECount);
234 const SCEVAddRecExpr *Ev, const SCEV *BECount,
236 bool processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount);
243 const SCEV *BECount);
347 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); in runOnCountableLoop() local
348 assert(!isa<SCEVCouldNotCompute>(BECount) && in runOnCountableLoop()
[all …]
H A DLoopTermFold.cpp120 const SCEV *BECount = SE.getBackedgeTakenCount(L); in canFoldTermCondOfLoop() local
161 const SCEV *TermValueSLocal = PostInc->evaluateAtIteration(BECount, SE); in canFoldTermCondOfLoop()
H A DIndVarSimplify.cpp828 const SCEV *BECount, in FindLoopCounter() argument
830 uint64_t BCWidth = SE->getTypeSizeInBits(BECount->getType()); in FindLoopCounter()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUnrollRuntime.cpp82 static void ConnectProlog(Loop *L, Value *BECount, unsigned Count, in ConnectProlog() argument
176 B.CreateICmpULT(BECount, ConstantInt::get(BECount->getType(), Count - 1)); in ConnectProlog()
512 static Value *CreateTripRemainder(IRBuilder<> &B, Value *BECount, in CreateTripRemainder() argument
529 Constant *CountC = ConstantInt::get(BECount->getType(), Count); in CreateTripRemainder()
530 Value *ModValTmp = B.CreateURem(BECount, CountC); in CreateTripRemainder()
772 Value *BECount; in UnrollRuntimeLoopRemainder() local
782 BECount = in UnrollRuntimeLoopRemainder()
787 BECount = in UnrollRuntimeLoopRemainder()
791 Value * const ModVal = CreateTripRemainder(B, BECount, TripCount, Count); in UnrollRuntimeLoopRemainder()
794 UseEpilogRemainder ? B.CreateICmpULT(BECount, in UnrollRuntimeLoopRemainder()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp128 bool processCopyingStore(Loop *CurLoop, StoreInst *SI, const SCEV *BECount);
130 bool runOnLoopBlock(Loop *CurLoop, BasicBlock *BB, const SCEV *BECount,
1965 const SCEV *BECount, unsigned StoreSize, in mayLoopAccessLocation() argument
1975 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) in mayLoopAccessLocation()
2004 StoreInst *SI, const SCEV *BECount) { in processCopyingStore() argument
2044 Type *BECountTy = BECount->getType(); in processCopyingStore()
2067 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount, in processCopyingStore()
2072 BECount, StoreSize, *AA, Ignore1)) { in processCopyingStore()
2114 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount, in processCopyingStore()
2140 BECount = SE->getTruncateOrZeroExtend(BECount, IntPtrTy); in processCopyingStore()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLoads.cpp330 const SCEV *BECount = Predicates in isDereferenceableAndAlignedInLoop() local
336 if (isa<SCEVCouldNotCompute>(BECount)) { in isDereferenceableAndAlignedInLoop()
345 L, PtrScev, LI->getType(), BECount, MaxBECount, &SE, nullptr); in isDereferenceableAndAlignedInLoop()
H A DScalarEvolution.cpp1372 const SCEV *BECount = SE->getBackedgeTakenCount(L); in getPreStartForExtend() local
1374 !isa<SCEVCouldNotCompute>(BECount) && SE->isKnownPositive(BECount)) in getPreStartForExtend()
5059 const SCEV *BECount = getConstantMaxBackedgeTakenCount(AR->getLoop()); in proveNoWrapViaConstantRanges() local
5060 if (const SCEVConstant *BECountMax = dyn_cast<SCEVConstant>(BECount)) { in proveNoWrapViaConstantRanges()
8631 const SCEV *BECount = ENT.ExactNotTaken; in getExact() local
8632 assert(BECount != SE->getCouldNotCompute() && "Bad exit SCEV!"); in getExact()
8637 Ops.push_back(BECount); in getExact()
9097 const SCEV *BECount = getCouldNotCompute(); in computeExitLimitFromCondFromBinOp() local
9106 BECount = getUMinFromMismatchedTypes(EL0.ExactNotTaken, EL1.ExactNotTaken, in computeExitLimitFromCondFromBinOp()
9127 BECount = EL0.ExactNotTaken; in computeExitLimitFromCondFromBinOp()
[all …]
H A DDependenceAnalysis.cpp1132 const SCEV *BECount = SE->getBackedgeTakenCount(AddRec->getLoop()); in isKnownLessThan() local
1133 if (!isa<SCEVCouldNotCompute>(BECount)) { in isKnownLessThan()
1134 const SCEV *Limit = AddRec->evaluateAtIteration(BECount, *SE); in isKnownLessThan()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopIdiomVectorize.cpp147 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount,