/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/ |
H A D | LoopIdiomRecognize.cpp | 79 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount, 82 bool processLoopStore(StoreInst *SI, const SCEV *BECount); 83 bool processLoopMemSet(MemSetInst *MSI, const SCEV *BECount); 89 const SCEV *BECount); 93 const SCEV *BECount); 185 const SCEV *BECount = SE->getBackedgeTakenCount(L); local 186 if (isa<SCEVCouldNotCompute>(BECount)) return false; 190 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) 217 MadeChange |= runOnLoopBlock(*BI, BECount, ExitBlocks); 225 bool LoopIdiomRecognize::runOnLoopBlock(BasicBlock *BB, const SCEV *BECount, argument 269 processLoopStore(StoreInst *SI, const SCEV *BECount) argument 328 processLoopMemSet(MemSetInst *MSI, const SCEV *BECount) argument 368 mayLoopAccessLocation(Value *Ptr,AliasAnalysis::ModRefResult Access, Loop *L, const SCEV *BECount, unsigned StoreSize, AliasAnalysis &AA, Instruction *IgnoredStore) argument 440 processLoopStridedStore(Value *DestPtr, unsigned StoreSize, unsigned StoreAlignment, Value *StoredVal, Instruction *TheStore, const SCEVAddRecExpr *Ev, const SCEV *BECount) argument 549 processLoopStoreOfLoopLoad(StoreInst *SI, unsigned StoreSize, const SCEVAddRecExpr *StoreEv, const SCEVAddRecExpr *LoadEv, const SCEV *BECount) argument [all...] |
H A D | IndVarSimplify.cpp | 1432 /// FIXME: Accept -1 stride and set IVLimit = IVInit - BECount 1434 /// FIXME: Accept non-unit stride as long as SCEV can reduce BECount * Stride. 1438 FindLoopCounter(Loop *L, const SCEV *BECount, argument 1440 // I'm not sure how BECount could be a pointer type, but we definitely don't 1442 if (BECount->getType()->isPointerTy()) 1445 uint64_t BCWidth = SE->getTypeSizeInBits(BECount->getType()); 1465 // AR may be a pointer type, while BECount is an integer type. 1466 // AR may be wider than BECount. With eq/ne tests overflow is immaterial. 1520 // BECount. This avoids materializing the add(zext(add)) expression. 1560 // For unit stride, IVLimit = Start + BECount wit [all...] |
/external/llvm/lib/Transforms/Scalar/ |
H A D | LoopIdiomRecognize.cpp | 105 bool runOnLoopBlock(BasicBlock *BB, const SCEV *BECount, 111 bool processLoopStores(SmallVectorImpl<StoreInst *> &SL, const SCEV *BECount, 113 bool processLoopMemSet(MemSetInst *MSI, const SCEV *BECount); 119 const SCEVAddRecExpr *Ev, const SCEV *BECount, 121 bool processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount); 244 const SCEV *BECount = SE->getBackedgeTakenCount(CurLoop); local 245 assert(!isa<SCEVCouldNotCompute>(BECount) && 251 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) 277 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); 460 BasicBlock *BB, const SCEV *BECount, 459 runOnLoopBlock( BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock *> &ExitBlocks) argument 507 processLoopStores(SmallVectorImpl<StoreInst *> &SL, const SCEV *BECount, bool ForMemset) argument 647 processLoopMemSet(MemSetInst *MSI, const SCEV *BECount) argument 699 mayLoopAccessLocation(Value *Ptr, ModRefInfo Access, Loop *L, const SCEV *BECount, unsigned StoreSize, AliasAnalysis &AA, SmallPtrSetImpl<Instruction *> &IgnoredStores) argument 732 getStartForNegStride(const SCEV *Start, const SCEV *BECount, Type *IntPtr, unsigned StoreSize, ScalarEvolution *SE) argument 744 processLoopStridedStore( Value *DestPtr, unsigned StoreSize, unsigned StoreAlignment, Value *StoredVal, Instruction *TheStore, SmallPtrSetImpl<Instruction *> &Stores, const SCEVAddRecExpr *Ev, const SCEV *BECount, bool NegStride) argument 845 processLoopStoreOfLoopLoad(StoreInst *SI, const SCEV *BECount) argument [all...] |
H A D | IndVarSimplify.cpp | 1732 /// BECount may be an i8* pointer type. The pointer difference is already 1738 /// FIXME: Accept -1 stride and set IVLimit = IVInit - BECount 1740 /// FIXME: Accept non-unit stride as long as SCEV can reduce BECount * Stride. 1743 static PHINode *FindLoopCounter(Loop *L, const SCEV *BECount, argument 1745 uint64_t BCWidth = SE->getTypeSizeInBits(BECount->getType()); 1763 if (BECount->getType()->isPointerTy() && !Phi->getType()->isPointerTy()) 1770 // AR may be a pointer type, while BECount is an integer type. 1771 // AR may be wider than BECount. With eq/ne tests overflow is immaterial. 1833 // finds a valid pointer IV. Sign extend BECount in order to materialize a 1867 // BECount [all...] |
/external/llvm/lib/Transforms/Utils/ |
H A D | LoopUnrollRuntime.cpp | 62 static void ConnectProlog(Loop *L, Value *BECount, unsigned Count, argument 122 // If BECount <u (Count - 1) then (BECount + 1) % Count == (BECount + 1) 123 // This means %xtraiter is (BECount + 1) and all of the iterations of this 124 // loop were executed by the prologue. Note that if BECount <u (Count - 1) 125 // then (BECount + 1) cannot unsigned-overflow. 127 B.CreateICmpULT(BECount, ConstantInt::get(BECount->getType(), Count - 1)); 546 Value *BECount local [all...] |
/external/swiftshader/third_party/LLVM/lib/Analysis/ |
H A D | ScalarEvolution.cpp | 4166 const SCEV *BECount = 0; 4172 if (!BECount) 4173 BECount = ENT->ExactNotTaken; 4175 BECount = SE->getUMinFromMismatchedTypes(BECount, ENT->ExactNotTaken); 4177 assert(BECount && "Invalid not taken count for loop exit"); 4178 return BECount; 4343 const SCEV *BECount = getCouldNotCompute(); 4350 BECount = getCouldNotCompute(); 4352 BECount [all...] |
/external/llvm/lib/Analysis/ |
H A D | ScalarEvolution.cpp | 1280 const SCEV *BECount = SE->getBackedgeTakenCount(L); local 1282 !isa<SCEVCouldNotCompute>(BECount) && SE->isKnownPositive(BECount)) 5542 const SCEV *BECount = nullptr; 5546 if (!BECount) 5547 BECount = ENT.ExactNotTaken; 5548 else if (BECount != ENT.ExactNotTaken) 5557 assert(BECount && "Invalid not taken count for loop exit"); 5558 return BECount; 5819 const SCEV *BECount [all...] |