Home | History | Annotate | Download | only in Scalar

Lines Matching refs:IVOper

1547   void ChainInstruction(Instruction *UserInst, Instruction *IVOper,
2324 /// PrevOper==a[i], IVOper==b[i], IVInc==b-a.
2472 void LSRInstance::ChainInstruction(Instruction *UserInst, Instruction *IVOper,
2476 Value *const NextIV = getWideOperand(IVOper);
2480 // Visit all existing chains. Check if its IVOper can be computed as a
2529 IVChainVec.push_back(IVChain(IVInc(UserInst, IVOper, LastIncExpr),
2538 IVChainVec[ChainIdx].add(IVInc(UserInst, IVOper, LastIncExpr));
2555 for (Value::use_iterator UseIter = IVOper->use_begin(),
2556 UseEnd = IVOper->use_end(); UseIter != UseEnd; ++UseIter) {
2756 // IVOper will replace the current IV User's operand. IVSrc is the IV
2758 Value *IVOper = IVSrc;
2772 IVOper = Rewriter.expandCodeFor(IVOperExpr, IVTy, InsertPt);
2777 assert(IVTy == IVOper->getType() && "inconsistent IV increment type");
2778 IVSrc = IVOper;
2787 IVOper = Builder.CreateTruncOrBitCast(IVOper, OperTy, "lsr.chain");
2789 IncI->UserInst->replaceUsesOfWith(IncI->IVOperand, IVOper);
2803 Value *IVOper = IVSrc;
2809 IVOper = Builder.CreatePointerCast(IVSrc, PostIncTy, "lsr.chain");
2811 Phi->replaceUsesOfWith(PostIncV, IVOper);