Lines Matching defs:VPV
52 VPValue *VPV = Ingredient.getVPSingleValue();
53 Instruction *Inst = cast<Instruction>(VPV->getUnderlyingValue());
101 VPV->replaceAllUsesWith(NewRecipe->getVPSingleValue());
671 /// Check if \p VPV is an untruncated wide induction, either before or after the
674 static VPWidenInductionRecipe *getOptimizableIVOf(VPValue *VPV) {
675 auto *WideIV = dyn_cast<VPWidenInductionRecipe>(VPV);
677 // VPV itself is a wide induction, separately compute the end value for exit
683 // Check if VPV is an optimizable induction increment.
684 VPRecipeBase *Def = VPV->getDefiningRecipe();
697 // Check if VPV increments the induction by the induction step.
701 return match(VPV, m_c_Binary<Instruction::Add>(m_Specific(WideIV),
704 return match(VPV, m_c_Binary<Instruction::FAdd>(m_Specific(WideIV),
707 return match(VPV, m_Binary<Instruction::FSub>(m_Specific(WideIV),
713 if (!match(VPV,
724 match(VPV, m_GetElementPtr(m_Specific(WideIV),
930 for (VPValue *VPV : R->definedValues())
931 assert(TypeInfo.inferScalarType(VPV) == TypeInfo2.inferScalarType(VPV));