/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopIdiomRecognize.cpp | 191 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount, 197 bool processLoopStores(SmallVectorImpl<StoreInst *> &SL, const SCEV *BECount, 204 const SCEV *BECount); 205 bool processLoopMemCpy(MemCpyInst *MCI, const SCEV *BECount); 206 bool processLoopMemSet(MemSetInst *MSI, const SCEV *BECount); 212 const SCEVAddRecExpr *Ev, const SCEV *BECount, 214 bool processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount); 221 const SCEV *BECount); 318 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); in runOnCountableLoop() local 319 assert(!isa<SCEVCouldNotCompute>(BECount) && in runOnCountableLoop() [all …]
|
H A D | IndVarSimplify.cpp | 837 const SCEV *BECount, in FindLoopCounter() argument 839 uint64_t BCWidth = SE->getTypeSizeInBits(BECount->getType()); in FindLoopCounter()
|
H A D | LoopStrengthReduce.cpp | 7134 const SCEV *BECount = SE.getBackedgeTakenCount(L); in canFoldTermCondOfLoop() local 7175 const SCEV *TermValueSLocal = PostInc->evaluateAtIteration(BECount, SE); in canFoldTermCondOfLoop()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LoopUnrollRuntime.cpp | 83 static void ConnectProlog(Loop *L, Value *BECount, unsigned Count, in ConnectProlog() argument 177 B.CreateICmpULT(BECount, ConstantInt::get(BECount->getType(), Count - 1)); in ConnectProlog() 517 static Value *CreateTripRemainder(IRBuilder<> &B, Value *BECount, in CreateTripRemainder() argument 534 Constant *CountC = ConstantInt::get(BECount->getType(), Count); in CreateTripRemainder() 535 Value *ModValTmp = B.CreateURem(BECount, CountC); in CreateTripRemainder() 768 Value *BECount; in UnrollRuntimeLoopRemainder() local 778 BECount = in UnrollRuntimeLoopRemainder() 783 BECount = in UnrollRuntimeLoopRemainder() 787 Value * const ModVal = CreateTripRemainder(B, BECount, TripCount, Count); in UnrollRuntimeLoopRemainder() 790 UseEpilogRemainder ? B.CreateICmpULT(BECount, in UnrollRuntimeLoopRemainder() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonLoopIdiomRecognition.cpp | 135 bool processCopyingStore(Loop *CurLoop, StoreInst *SI, const SCEV *BECount); 137 bool runOnLoopBlock(Loop *CurLoop, BasicBlock *BB, const SCEV *BECount, 1977 const SCEV *BECount, unsigned StoreSize, in mayLoopAccessLocation() argument 1987 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) in mayLoopAccessLocation() 2016 StoreInst *SI, const SCEV *BECount) { in processCopyingStore() argument 2056 Type *BECountTy = BECount->getType(); in processCopyingStore() 2079 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount, in processCopyingStore() 2084 BECount, StoreSize, *AA, Ignore1)) { in processCopyingStore() 2126 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount, in processCopyingStore() 2152 BECount = SE->getTruncateOrZeroExtend(BECount, IntPtrTy); in processCopyingStore() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ScalarEvolution.cpp | 1366 const SCEV *BECount = SE->getBackedgeTakenCount(L); in getPreStartForExtend() local 1368 !isa<SCEVCouldNotCompute>(BECount) && SE->isKnownPositive(BECount)) in getPreStartForExtend() 5093 const SCEV *BECount = getConstantMaxBackedgeTakenCount(AR->getLoop()); in proveNoWrapViaConstantRanges() local 5094 if (const SCEVConstant *BECountMax = dyn_cast<SCEVConstant>(BECount)) { in proveNoWrapViaConstantRanges() 8592 const SCEV *BECount = ENT.ExactNotTaken; in getExact() local 8593 assert(BECount != SE->getCouldNotCompute() && "Bad exit SCEV!"); in getExact() 8598 Ops.push_back(BECount); in getExact() 9061 const SCEV *BECount = getCouldNotCompute(); in computeExitLimitFromCondFromBinOp() local 9070 BECount = getUMinFromMismatchedTypes(EL0.ExactNotTaken, EL1.ExactNotTaken, in computeExitLimitFromCondFromBinOp() 9091 BECount = EL0.ExactNotTaken; in computeExitLimitFromCondFromBinOp() [all …]
|
H A D | DependenceAnalysis.cpp | 1113 const SCEV *BECount = SE->getBackedgeTakenCount(AddRec->getLoop()); in isKnownLessThan() local 1114 if (!isa<SCEVCouldNotCompute>(BECount)) { in isKnownLessThan() 1115 const SCEV *Limit = AddRec->evaluateAtIteration(BECount, *SE); in isKnownLessThan()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | LoopIdiomVectorize.cpp | 117 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount,
|