Lines Matching defs:IncV

705 bool SCEVExpander::isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV,
707 if (IncV->getNumOperands() == 0 || isa<PHINode>(IncV) ||
708 (isa<CastInst>(IncV) && !isa<BitCastInst>(IncV)))
714 for (Use &Op : llvm::drop_begin(IncV->operands()))
720 IncV = dyn_cast<Instruction>(IncV->getOperand(0));
721 if (!IncV)
724 if (IncV->mayHaveSideEffects())
727 if (IncV == PN)
730 return isNormalAddRecExprPHI(PN, IncV, L);
742 Instruction *SCEVExpander::getIVIncOperand(Instruction *IncV,
745 if (IncV == InsertPos)
748 switch (IncV->getOpcode()) {
754 Instruction *OInst = dyn_cast<Instruction>(IncV->getOperand(1));
756 return dyn_cast<Instruction>(IncV->getOperand(0));
760 return dyn_cast<Instruction>(IncV->getOperand(0));
762 for (Use &U : llvm::drop_begin(IncV->operands())) {
774 if (!cast<GEPOperator>(IncV)->getSourceElementType()->isIntegerTy(8))
778 return dyn_cast<Instruction>(IncV->getOperand(0));
802 bool SCEVExpander::hoistIVInc(Instruction *IncV, Instruction *InsertPos,
819 if (SE.DT.dominates(IncV, InsertPos)) {
821 FixupPoisonFlags(IncV);
825 // InsertPos must itself dominate IncV so that IncV's new position satisfies
828 !SE.DT.dominates(InsertPos->getParent(), IncV->getParent()))
831 if (!SE.LI.movementPreservesLCSSAForm(IncV, InsertPos))
837 Instruction *Oper = getIVIncOperand(IncV, InsertPos, /*allowScale*/true);
840 // IncV is safe to hoist.
841 IVIncs.push_back(IncV);
842 IncV = Oper;
843 if (SE.DT.dominates(IncV, InsertPos))
869 bool SCEVExpander::isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV,
871 for(Instruction *IVOper = IncV;
885 Value *IncV;
889 IncV = Builder.CreatePtrAdd(PN, StepV, "scevgep");
891 IncV = useSubtract ?
895 return IncV;
975 Instruction *IncV = nullptr;
1025 IncV = TempIncV;
1039 IncV = TempIncV;
1049 rememberInstruction(IncV);
1052 ReusedValues.insert(IncV);
1121 Value *IncV = expandIVInc(PN, StepV, L, useSubtract);
1123 if (isa<OverflowingBinaryOperator>(IncV)) {
1125 cast<BinaryOperator>(IncV)->setHasNoUnsignedWrap();
1127 cast<BinaryOperator>(IncV)->setHasNoSignedWrap();
1129 PN->addIncoming(IncV, Pred);