Lines Matching defs:OrigInc
857 Instruction *OrigInc,
859 return match(OrigInc, m_c_BinOp(m_Specific(OrigPhi), m_Value())) &&
861 OrigInc->getOpcode() == WideInc->getOpcode();
1623 Instruction *OrigInc =
1627 if (!OrigInc || !IsomorphicInc)
1635 isExpandedAddRecExprPHI(OrigPhi, OrigInc, L)) &&
1639 std::swap(OrigInc, IsomorphicInc);
1652 SE.getTruncateOrNoop(SE.getSCEV(OrigInc), IsomorphicInc->getType());
1653 if (OrigInc == IsomorphicInc || TruncExpr != SE.getSCEV(IsomorphicInc) ||
1654 !SE.LI.replacementPreservesLCSSAForm(IsomorphicInc, OrigInc))
1659 auto *OBOIncV = dyn_cast<OverflowingBinaryOperator>(OrigInc);
1668 if (!hoistIVInc(OrigInc, IsomorphicInc,
1672 // We are replacing with a wider increment. If both OrigInc and IsomorphicInc
1674 // IsomorphicInc would wrap before the wider OrigInc, so the replacement won't
1676 assert(OrigInc->getType()->getScalarSizeInBits() >=
1680 OrigInc->setHasNoUnsignedWrap(OBOIncV->hasNoUnsignedWrap() || BothHaveNUW);
1681 OrigInc->setHasNoSignedWrap(OBOIncV->hasNoSignedWrap() || BothHaveNSW);
1687 Value *NewInc = OrigInc;
1688 if (OrigInc->getType() != IsomorphicInc->getType()) {
1690 if (PHINode *PN = dyn_cast<PHINode>(OrigInc))
1693 IP = OrigInc->getNextNonDebugInstruction()->getIterator();
1698 Builder.CreateTruncOrBitCast(OrigInc, IsomorphicInc->getType(), IVName);