Lines Matching refs:IncExpr
1573 const SCEV *IncExpr; member
1576 UserInst(U), IVOperand(O), IncExpr(E) {} in IVInc()
1612 const SCEV *IncExpr,
2492 const SCEV *IncExpr, in isProfitableIncrement() argument
2500 if (!isa<SCEVConstant>(IncExpr)) { in isProfitableIncrement()
2507 return !isHighCostExpansion(IncExpr, Processed, SE); in isProfitableIncrement()
2545 && SE.getSCEV(Chain.tailUserInst()) == Chain.Incs[0].IncExpr) { in isProfitableChain()
2553 if (Inc.IncExpr->isZero()) in isProfitableChain()
2558 if (isa<SCEVConstant>(Inc.IncExpr)) { in isProfitableChain()
2563 if (Inc.IncExpr == LastIncExpr) in isProfitableChain()
2568 LastIncExpr = Inc.IncExpr; in isProfitableChain()
2625 const SCEV *IncExpr = SE.getMinusSCEV(OperExpr, PrevExpr); in ChainInstruction() local
2626 if (!SE.isLoopInvariant(IncExpr, L)) in ChainInstruction()
2629 if (Chain.isProfitableIncrement(OperExpr, IncExpr, SE)) { in ChainInstruction()
2630 LastIncExpr = IncExpr; in ChainInstruction()
2809 static bool canFoldIVIncExpr(const SCEV *IncExpr, Instruction *UserInst, in canFoldIVIncExpr() argument
2811 const SCEVConstant *IncConst = dyn_cast<SCEVConstant>(IncExpr); in canFoldIVIncExpr()
2850 if (SE.getSCEV(*IVOpIter) == Head.IncExpr in GenerateIVChain()
2851 || SE.getSCEV(IVSrc) == Head.IncExpr) { in GenerateIVChain()
2874 if (!Inc.IncExpr->isZero()) { in GenerateIVChain()
2877 const SCEV *IncExpr = SE.getNoopOrSignExtend(Inc.IncExpr, IntTy); in GenerateIVChain() local
2879 SE.getAddExpr(LeftOverExpr, IncExpr) : IncExpr; in GenerateIVChain()