Lines Matching defs:VPInstruction

136     switch (cast<VPInstruction>(this)->getOpcode()) {
140 case VPInstruction::Not:
141 case VPInstruction::CalculateTripCountMinusVF:
142 case VPInstruction::CanonicalIVIncrementForPart:
143 case VPInstruction::ExtractFromEnd:
144 case VPInstruction::FirstOrderRecurrenceSplice:
145 case VPInstruction::LogicalAnd:
146 case VPInstruction::PtrAdd:
330 VPInstruction::VPInstruction(unsigned Opcode, CmpInst::Predicate Pred,
340 VPInstruction::VPInstruction(unsigned Opcode,
345 // Make sure the VPInstruction is a floating-point operation.
349 bool VPInstruction::doesGeneratePerAllLanes() const {
350 return Opcode == VPInstruction::PtrAdd && !vputils::onlyFirstLaneUsed(this);
353 bool VPInstruction::canGenerateScalarForFirstLane() const {
360 case VPInstruction::BranchOnCond:
361 case VPInstruction::BranchOnCount:
362 case VPInstruction::CalculateTripCountMinusVF:
363 case VPInstruction::CanonicalIVIncrementForPart:
364 case VPInstruction::PtrAdd:
365 case VPInstruction::ExplicitVectorLength:
372 Value *VPInstruction::generatePerLane(VPTransformState &State,
376 assert(getOpcode() == VPInstruction::PtrAdd &&
382 Value *VPInstruction::generatePerPart(VPTransformState &State, unsigned Part) {
397 case VPInstruction::Not: {
413 case VPInstruction::ActiveLaneMask: {
431 case VPInstruction::FirstOrderRecurrenceSplice: {
452 case VPInstruction::CalculateTripCountMinusVF: {
464 case VPInstruction::ExplicitVectorLength: {
489 case VPInstruction::CanonicalIVIncrementForPart: {
500 case VPInstruction::BranchOnCond: {
521 case VPInstruction::BranchOnCount: {
545 case VPInstruction::ComputeReductionResult: {
620 case VPInstruction::ExtractFromEnd: {
644 case VPInstruction::LogicalAnd: {
649 case VPInstruction::PtrAdd: {
656 case VPInstruction::ResumePhi: {
682 bool VPInstruction::isVectorToScalar() const {
683 return getOpcode() == VPInstruction::ExtractFromEnd ||
684 getOpcode() == VPInstruction::ComputeReductionResult;
687 bool VPInstruction::isSingleScalar() const {
688 return getOpcode() == VPInstruction::ResumePhi;
692 bool VPInstruction::isFPMathOp() const {
702 void VPInstruction::execute(VPTransformState &State) {
703 assert(!State.Instance && "VPInstruction executing an Instance");
747 bool VPInstruction::onlyFirstLaneUsed(const VPValue *Op) const {
756 case VPInstruction::PtrAdd:
759 case VPInstruction::ActiveLaneMask:
760 case VPInstruction::ExplicitVectorLength:
761 case VPInstruction::CalculateTripCountMinusVF:
762 case VPInstruction::CanonicalIVIncrementForPart:
763 case VPInstruction::BranchOnCount:
764 case VPInstruction::BranchOnCond:
765 case VPInstruction::ResumePhi:
771 bool VPInstruction::onlyFirstPartUsed(const VPValue *Op) const {
782 case VPInstruction::BranchOnCount:
783 case VPInstruction::BranchOnCond:
784 case VPInstruction::CanonicalIVIncrementForPart:
791 void VPInstruction::dump() const {
796 void VPInstruction::print(raw_ostream &O, const Twine &Indent,
806 case VPInstruction::Not:
809 case VPInstruction::SLPLoad:
812 case VPInstruction::SLPStore:
815 case VPInstruction::ActiveLaneMask:
818 case VPInstruction::ResumePhi:
821 case VPInstruction::ExplicitVectorLength:
824 case VPInstruction::FirstOrderRecurrenceSplice:
827 case VPInstruction::BranchOnCond:
830 case VPInstruction::CalculateTripCountMinusVF:
833 case VPInstruction::CanonicalIVIncrementForPart:
836 case VPInstruction::BranchOnCount:
839 case VPInstruction::ExtractFromEnd:
842 case VPInstruction::ComputeReductionResult:
845 case VPInstruction::LogicalAnd:
848 case VPInstruction::PtrAdd: