| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopIdiomRecognize.cpp | 213 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 D | LoopTermFold.cpp | 120 const SCEV *BECount = SE.getBackedgeTakenCount(L); in canFoldTermCondOfLoop() local 161 const SCEV *TermValueSLocal = PostInc->evaluateAtIteration(BECount, SE); in canFoldTermCondOfLoop()
|
| H A D | IndVarSimplify.cpp | 828 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 D | LoopUnrollRuntime.cpp | 82 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 D | HexagonLoopIdiomRecognition.cpp | 128 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 D | Loads.cpp | 330 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 D | ScalarEvolution.cpp | 1372 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 D | DependenceAnalysis.cpp | 1132 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 D | LoopIdiomVectorize.cpp | 147 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount,
|