Searched refs:BECount (Results 1 - 4 of 4) sorted by relevance

/freebsd-11.0-release/contrib/llvm/lib/Transforms/Scalar/
H A DLoopIdiomRecognize.cpp121 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount,
126 bool processLoopStore(StoreInst *SI, const SCEV *BECount);
127 bool processLoopMemSet(MemSetInst *MSI, const SCEV *BECount);
132 const SCEV *BECount, bool NegStride);
133 bool processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount);
224 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); local
225 assert(!isa<SCEVCouldNotCompute>(BECount) &&
231 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount))
249 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks);
420 BasicBlock *BB, const SCEV *BECount,
419 runOnLoopBlock( BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock *> &ExitBlocks) argument
462 processLoopStore(StoreInst *SI, const SCEV *BECount) argument
484 processLoopMemSet(MemSetInst *MSI, const SCEV *BECount) argument
531 mayLoopAccessLocation(Value *Ptr, ModRefInfo Access, Loop *L, const SCEV *BECount, unsigned StoreSize, AliasAnalysis &AA, Instruction *IgnoredStore) argument
563 getStartForNegStride(const SCEV *Start, const SCEV *BECount, Type *IntPtr, unsigned StoreSize, ScalarEvolution *SE) argument
575 processLoopStridedStore( Value *DestPtr, unsigned StoreSize, unsigned StoreAlignment, Value *StoredVal, Instruction *TheStore, const SCEVAddRecExpr *Ev, const SCEV *BECount, bool NegStride) argument
673 processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount) argument
[all...]
H A DIndVarSimplify.cpp1709 /// BECount may be an i8* pointer type. The pointer difference is already
1715 /// FIXME: Accept -1 stride and set IVLimit = IVInit - BECount
1717 /// FIXME: Accept non-unit stride as long as SCEV can reduce BECount * Stride.
1720 static PHINode *FindLoopCounter(Loop *L, const SCEV *BECount, argument
1722 uint64_t BCWidth = SE->getTypeSizeInBits(BECount->getType());
1739 if (BECount->getType()->isPointerTy() && !Phi->getType()->isPointerTy())
1746 // AR may be a pointer type, while BECount is an integer type.
1747 // AR may be wider than BECount. With eq/ne tests overflow is immaterial.
1810 // finds a valid pointer IV. Sign extend BECount in order to materialize a
1846 // BECount
[all...]
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Utils/
H A DLoopUnrollRuntime.cpp62 static void ConnectProlog(Loop *L, Value *BECount, unsigned Count, argument
120 // If BECount <u (Count - 1) then (BECount + 1) & (Count - 1) == (BECount + 1)
121 // (since Count is a power of 2). This means %xtraiter is (BECount + 1) and
123 // that if BECount <u (Count - 1) then (BECount + 1) cannot unsigned-overflow.
125 B.CreateICmpULT(BECount, ConstantInt::get(BECount->getType(), Count - 1));
346 Value *BECount local
[all...]
/freebsd-11.0-release/contrib/llvm/lib/Analysis/
H A DScalarEvolution.cpp1279 const SCEV *BECount = SE->getBackedgeTakenCount(L); local
1281 !isa<SCEVCouldNotCompute>(BECount) && SE->isKnownPositive(BECount))
5097 const SCEV *BECount = nullptr;
5103 if (!BECount)
5104 BECount = ENT->ExactNotTaken;
5105 else if (BECount != ENT->ExactNotTaken)
5108 assert(BECount && "Invalid not taken count for loop exit");
5109 return BECount;
5345 const SCEV *BECount
[all...]

Completed in 64 milliseconds