Lines Matching refs:IncExpr
1886 const SCEV *IncExpr; member
1889 : UserInst(U), IVOperand(O), IncExpr(E) {} in IVInc()
1924 const SCEV *IncExpr,
2842 const SCEV *IncExpr, in isProfitableIncrement() argument
2850 if (!isa<SCEVConstant>(IncExpr)) { in isProfitableIncrement()
2857 return !isHighCostExpansion(IncExpr, Processed, SE); in isProfitableIncrement()
2895 && SE.getSCEV(Chain.tailUserInst()) == Chain.Incs[0].IncExpr) { in isProfitableChain()
2909 if (Inc.IncExpr->isZero()) in isProfitableChain()
2914 if (isa<SCEVConstant>(Inc.IncExpr)) { in isProfitableChain()
2919 if (Inc.IncExpr == LastIncExpr) in isProfitableChain()
2924 LastIncExpr = Inc.IncExpr; in isProfitableChain()
2981 const SCEV *IncExpr = SE.getMinusSCEV(OperExpr, PrevExpr); in ChainInstruction() local
2982 if (isa<SCEVCouldNotCompute>(IncExpr) || !SE.isLoopInvariant(IncExpr, L)) in ChainInstruction()
2985 if (Chain.isProfitableIncrement(OperExpr, IncExpr, SE)) { in ChainInstruction()
2986 LastIncExpr = IncExpr; in ChainInstruction()
3163 static bool canFoldIVIncExpr(const SCEV *IncExpr, Instruction *UserInst, in canFoldIVIncExpr() argument
3165 const SCEVConstant *IncConst = dyn_cast<SCEVConstant>(IncExpr); in canFoldIVIncExpr()
3204 if (SE.getSCEV(*IVOpIter) == Head.IncExpr in GenerateIVChain()
3205 || SE.getSCEV(IVSrc) == Head.IncExpr) { in GenerateIVChain()
3229 if (!Inc.IncExpr->isZero()) { in GenerateIVChain()
3232 const SCEV *IncExpr = SE.getNoopOrSignExtend(Inc.IncExpr, IntTy); in GenerateIVChain() local
3234 SE.getAddExpr(LeftOverExpr, IncExpr) : IncExpr; in GenerateIVChain()