Lines Matching refs:IVCount
1430 static Value *genLoopLimit(PHINode *IndVar, const SCEV *IVCount, Loop *L,
1436 // IVInit may be a pointer while IVCount is an integer when FindLoopCounter
1441 && !IVCount->getType()->isPointerTy()) {
1444 const SCEV *IVOffset = SE->getTruncateOrSignExtend(IVCount, OfsTy);
1464 // In any other case, convert both IVInit and IVCount to integers before
1470 // for simple memset-style loops; (3) IVInit is an integer and IVCount is a
1475 // For unit stride, IVCount = Start + BECount with 2's complement overflow.
1476 // For non-zero Start, compute IVCount here.
1478 IVLimit = IVCount;
1485 > SE->getTypeSizeInBits(IVCount->getType()))
1486 IVInit = SE->getTruncateExpr(IVInit, IVCount->getType());
1488 IVLimit = SE->getAddExpr(IVInit, IVCount);
1498 Type *LimitTy = IVCount->getType()->isPointerTy() ?
1499 IndVar->getType() : IVCount->getType();
1520 const SCEV *IVCount = BackedgeTakenCount;
1531 SE->getAddExpr(IVCount, SE->getConstant(IVCount->getType(), 1));
1532 if (CntTy == IVCount->getType())
1533 IVCount = N;
1535 const SCEV *Zero = SE->getConstant(IVCount->getType(), 0);
1539 IVCount = SE->getTruncateOrZeroExtend(N, CntTy);
1542 IVCount = SE->getTruncateOrZeroExtend(IVCount, CntTy);
1543 IVCount = SE->getAddExpr(IVCount, SE->getConstant(CntTy, 1));
1552 IVCount = SE->getTruncateOrZeroExtend(IVCount, CntTy);
1556 Value *ExitCnt = genLoopLimit(IndVar, IVCount, L, Rewriter, SE);
1573 << " IVCount:\t" << *IVCount << "\n");