Searched refs:BECount (Results 1 - 4 of 4) sorted by relevance
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Scalar/ |
H A D | LoopIdiomRecognize.cpp | 121 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 D | IndVarSimplify.cpp | 1709 /// 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 D | LoopUnrollRuntime.cpp | 62 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 D | ScalarEvolution.cpp | 1279 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