Lines Matching defs:IVSrc
3401 Value *IVSrc = nullptr;
3403 IVSrc = getWideOperand(*IVOpIter);
3406 // it. (Check this after setting IVSrc which is used below.)
3408 // Note that if Head.IncExpr is wider than IVSrc, then this phi is too
3412 // getSCEV(IVSrc) == IncExpr.
3414 || SE.getSCEV(IVSrc) == Head.IncExpr) {
3424 assert(IVSrc && "Failed to find IV chain source");
3426 LLVM_DEBUG(dbgs() << "Generate chain at: " << *IVSrc << "\n");
3427 Type *IVTy = IVSrc->getType();
3432 Bases.emplace_back(Accum, IVSrc);
3439 // IVOper will replace the current IV User's operand. IVSrc is the IV
3441 Value *IVOper = IVSrc;
3474 const SCEV *IVOperExpr = SE.getAddExpr(SE.getUnknown(IVSrc),
3482 IVSrc = IVOper;
3501 if (Phi.getType() != IVSrc->getType())
3505 if (!PostIncV || (SE.getSCEV(PostIncV) != SE.getSCEV(IVSrc)))
3507 Value *IVOper = IVSrc;
3513 IVOper = Builder.CreatePointerCast(IVSrc, PostIncTy, "lsr.chain");