Lines Matching refs:OrigInc
826 Instruction *OrigInc, in canReuseFlagsFromOriginalIVInc() argument
828 return match(OrigInc, m_c_BinOp(m_Specific(OrigPhi), m_Value())) && in canReuseFlagsFromOriginalIVInc()
830 OrigInc->getOpcode() == WideInc->getOpcode(); in canReuseFlagsFromOriginalIVInc()
1587 Instruction *OrigInc = in replaceCongruentIVInc() local
1591 if (!OrigInc || !IsomorphicInc) in replaceCongruentIVInc()
1599 isExpandedAddRecExprPHI(OrigPhi, OrigInc, L)) && in replaceCongruentIVInc()
1603 std::swap(OrigInc, IsomorphicInc); in replaceCongruentIVInc()
1616 SE.getTruncateOrNoop(SE.getSCEV(OrigInc), IsomorphicInc->getType()); in replaceCongruentIVInc()
1617 if (OrigInc == IsomorphicInc || TruncExpr != SE.getSCEV(IsomorphicInc) || in replaceCongruentIVInc()
1618 !SE.LI.replacementPreservesLCSSAForm(IsomorphicInc, OrigInc)) in replaceCongruentIVInc()
1623 auto *OBOIncV = dyn_cast<OverflowingBinaryOperator>(OrigInc); in replaceCongruentIVInc()
1632 if (!hoistIVInc(OrigInc, IsomorphicInc, in replaceCongruentIVInc()
1640 assert(OrigInc->getType()->getScalarSizeInBits() >= in replaceCongruentIVInc()
1644 OrigInc->setHasNoUnsignedWrap(OBOIncV->hasNoUnsignedWrap() || BothHaveNUW); in replaceCongruentIVInc()
1645 OrigInc->setHasNoSignedWrap(OBOIncV->hasNoSignedWrap() || BothHaveNSW); in replaceCongruentIVInc()
1651 Value *NewInc = OrigInc; in replaceCongruentIVInc()
1652 if (OrigInc->getType() != IsomorphicInc->getType()) { in replaceCongruentIVInc()
1654 if (PHINode *PN = dyn_cast<PHINode>(OrigInc)) in replaceCongruentIVInc()
1657 IP = OrigInc->getNextNonDebugInstruction()->getIterator(); in replaceCongruentIVInc()
1662 Builder.CreateTruncOrBitCast(OrigInc, IsomorphicInc->getType(), IVName); in replaceCongruentIVInc()