Lines Matching defs:IVSrc
3400 Value *IVSrc = nullptr;
3402 IVSrc = getWideOperand(*IVOpIter);
3405 // it. (Check this after setting IVSrc which is used below.)
3407 // Note that if Head.IncExpr is wider than IVSrc, then this phi is too
3411 // getSCEV(IVSrc) == IncExpr.
3413 || SE.getSCEV(IVSrc) == Head.IncExpr) {
3423 assert(IVSrc && "Failed to find IV chain source");
3425 LLVM_DEBUG(dbgs() << "Generate chain at: " << *IVSrc << "\n");
3426 Type *IVTy = IVSrc->getType();
3431 Bases.emplace_back(Accum, IVSrc);
3438 // IVOper will replace the current IV User's operand. IVSrc is the IV
3440 Value *IVOper = IVSrc;
3473 const SCEV *IVOperExpr = SE.getAddExpr(SE.getUnknown(IVSrc),
3481 IVSrc = IVOper;
3500 if (Phi.getType() != IVSrc->getType())
3504 if (!PostIncV || (SE.getSCEV(PostIncV) != SE.getSCEV(IVSrc)))
3506 Value *IVOper = IVSrc;
3512 IVOper = Builder.CreatePointerCast(IVSrc, PostIncTy, "lsr.chain");