Lines Matching refs:IVOper
1632 void ChainInstruction(Instruction *UserInst, Instruction *IVOper,
2407 /// PrevOper==a[i], IVOper==b[i], IVInc==b-a.
2555 void LSRInstance::ChainInstruction(Instruction *UserInst, Instruction *IVOper,
2559 Value *const NextIV = getWideOperand(IVOper);
2563 // Visit all existing chains. Check if its IVOper can be computed as a
2612 IVChainVec.push_back(IVChain(IVInc(UserInst, IVOper, LastIncExpr),
2621 IVChainVec[ChainIdx].add(IVInc(UserInst, IVOper, LastIncExpr));
2638 for (Value::use_iterator UseIter = IVOper->use_begin(),
2639 UseEnd = IVOper->use_end(); UseIter != UseEnd; ++UseIter) {
2840 // IVOper will replace the current IV User's operand. IVSrc is the IV
2842 Value *IVOper = IVSrc;
2856 IVOper = Rewriter.expandCodeFor(IVOperExpr, IVTy, InsertPt);
2861 assert(IVTy == IVOper->getType() && "inconsistent IV increment type");
2862 IVSrc = IVOper;
2871 IVOper = Builder.CreateTruncOrBitCast(IVOper, OperTy, "lsr.chain");
2873 IncI->UserInst->replaceUsesOfWith(IncI->IVOperand, IVOper);
2887 Value *IVOper = IVSrc;
2893 IVOper = Builder.CreatePointerCast(IVSrc, PostIncTy, "lsr.chain");
2895 Phi->replaceUsesOfWith(PostIncV, IVOper);