Lines Matching refs:ExitCount
170 const SCEV *ExitCount,
978 const SCEV *ExitCount, bool UsePostInc, Loop *L, in genLoopLimit() argument
990 !ExitCount->getType()->isPointerTy()) { in genLoopLimit()
998 const SCEV *IVOffset = SE->getTruncateOrZeroExtend(ExitCount, OfsTy); in genLoopLimit()
1030 > SE->getTypeSizeInBits(ExitCount->getType())) { in genLoopLimit()
1031 if (isa<SCEVConstant>(IVInit) && isa<SCEVConstant>(ExitCount)) in genLoopLimit()
1032 ExitCount = SE->getZeroExtendExpr(ExitCount, IVInit->getType()); in genLoopLimit()
1034 IVInit = SE->getTruncateExpr(IVInit, ExitCount->getType()); in genLoopLimit()
1037 const SCEV *IVLimit = SE->getAddExpr(IVInit, ExitCount); in genLoopLimit()
1048 Type *LimitTy = ExitCount->getType()->isPointerTy() ? in genLoopLimit()
1049 IndVar->getType() : ExitCount->getType(); in genLoopLimit()
1062 const SCEV *ExitCount, in linearFunctionTestReplace() argument
1112 IndVar, ExitingBB, ExitCount, UsePostInc, L, Rewriter, SE); in linearFunctionTestReplace()
1181 << "ExitCount:\t" << *ExitCount << "\n" in linearFunctionTestReplace()
1630 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in optimizeLoopExits() local
1631 if (isa<SCEVCouldNotCompute>(ExitCount)) { in optimizeLoopExits()
1665 if (MaxExitCount == ExitCount) in optimizeLoopExits()
1675 if (ExitCount->isZero()) { in optimizeLoopExits()
1682 assert(ExitCount->getType()->isIntegerTy() && in optimizeLoopExits()
1687 SE->getWiderType(MaxExitCount->getType(), ExitCount->getType()); in optimizeLoopExits()
1688 ExitCount = SE->getNoopOrZeroExtend(ExitCount, WiderType); in optimizeLoopExits()
1690 assert(MaxExitCount->getType() == ExitCount->getType()); in optimizeLoopExits()
1695 MaxExitCount, ExitCount)) { in optimizeLoopExits()
1705 if (!DominatingExitCounts.insert(ExitCount).second) { in optimizeLoopExits()
1771 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in predicateLoopExits() local
1772 if (isa<SCEVCouldNotCompute>(ExitCount) || in predicateLoopExits()
1773 !Rewriter.isSafeToExpand(ExitCount)) in predicateLoopExits()
1776 assert(SE->isLoopInvariant(ExitCount, L) && in predicateLoopExits()
1778 assert(ExitCount->getType()->isIntegerTy() && "Exit count must be integer"); in predicateLoopExits()
1853 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in predicateLoopExits() local
1857 if (ExitCount == ExactBTC) { in predicateLoopExits()
1861 Value *ECV = Rewriter.expandCodeFor(ExitCount); in predicateLoopExits()
1992 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in run() local
1993 if (isa<SCEVCouldNotCompute>(ExitCount)) in run()
2000 if (ExitCount->isZero()) in run()
2003 PHINode *IndVar = FindLoopCounter(L, ExitingBB, ExitCount, SE, DT); in run()
2009 if (Rewriter.isHighCostExpansion(ExitCount, L, SCEVCheapExpansionBudget, in run()
2022 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(ExitCount); in run()
2025 ExitCount, IndVar, in run()