Lines Matching refs:IVInc
1502 static bool matchIncrement(const Instruction *IVInc, Instruction *&LHS, in matchIncrement() argument
1504 if (match(IVInc, m_Add(m_Instruction(LHS), m_Constant(Step))) || in matchIncrement()
1505 match(IVInc, m_ExtractValue<0>(m_Intrinsic<Intrinsic::uadd_with_overflow>( in matchIncrement()
1508 if (match(IVInc, m_Sub(m_Instruction(LHS), m_Constant(Step))) || in matchIncrement()
1509 match(IVInc, m_ExtractValue<0>(m_Intrinsic<Intrinsic::usub_with_overflow>( in matchIncrement()
1525 auto *IVInc = in getIVIncrement() local
1527 if (!IVInc || LI->getLoopFor(IVInc->getParent()) != L) in getIVIncrement()
1531 if (matchIncrement(IVInc, LHS, Step) && LHS == PN) in getIVIncrement()
1532 return std::make_pair(IVInc, Step); in getIVIncrement()
1545 if (auto IVInc = getIVIncrement(PN, LI)) in isIVIncrement() local
1546 return IVInc->first == I; in isIVIncrement()
4261 auto IVInc = getIVIncrement(PN, &LI); in matchScaledValue() local
4262 if (!IVInc) in matchScaledValue()
4270 if (auto *OIVInc = dyn_cast<OverflowingBinaryOperator>(IVInc->first)) in matchScaledValue()
4273 if (auto *ConstantStep = dyn_cast<ConstantInt>(IVInc->second)) in matchScaledValue()
4274 return std::make_pair(IVInc->first, ConstantStep->getValue()); in matchScaledValue()
4291 Instruction *IVInc = IVStep->first; in matchScaledValue() local
4296 assert(isIVIncrement(IVInc, &LI) && "implied by GetConstantStep"); in matchScaledValue()
4301 TestAddrMode.ScaledReg = IVInc; in matchScaledValue()
4307 getDTFn().dominates(IVInc, MemoryInst)) { in matchScaledValue()
4308 AddrModeInsts.push_back(cast<Instruction>(IVInc)); in matchScaledValue()