|
LLVM 23.0.0git
|
Class to record and manage LLVM IR flags. More...
#include "Transforms/Vectorize/VPlan.h"
Classes | |
| struct | DisjointFlagsTy |
| struct | NonNegFlagsTy |
| struct | TruncFlagsTy |
| struct | WrapFlagsTy |
|
inline |
Definition at line 702 of file VPlan.h.
References AllFlags.
Referenced by intersectFlags(), transferFlags(), llvm::VPRecipeWithIRFlags::VPRecipeWithIRFlags(), llvm::VPWidenIntOrFpInductionRecipe::VPWidenIntOrFpInductionRecipe(), and llvm::VPWidenIntOrFpInductionRecipe::VPWidenIntOrFpInductionRecipe().
|
inline |
Definition at line 704 of file VPlan.h.
References AllFlags, CmpPredicate, DisjointFlags, llvm::dyn_cast(), ExactFlags, FCmpFlags, FMFs, GEP, GEPFlags, I, NonNegFlags, TruncFlags, and WrapFlags.
|
inline |
Definition at line 739 of file VPlan.h.
References CmpPredicate.
|
inline |
|
inline |
|
inline |
Definition at line 751 of file VPlan.h.
References TruncFlags.
|
inline |
|
inline |
Definition at line 756 of file VPlan.h.
References DisjointFlags.
|
inline |
Definition at line 759 of file VPlan.h.
References NonNegFlags.
|
inline |
|
inline |
Definition at line 765 of file VPlan.h.
References FMFs, and ReductionFlags.
|
inline |
Apply the IR flags to I.
Definition at line 816 of file VPlan.h.
References llvm::cast(), DisjointFlags, ExactFlags, F, GEPFlags, I, llvm_unreachable, NonNegFlags, TruncFlags, and WrapFlags.
Referenced by llvm::VPWidenCallRecipe::execute(), llvm::VPWidenCastRecipe::execute(), llvm::VPWidenIntrinsicRecipe::execute(), llvm::VPWidenRecipe::execute(), and scalarizeInstruction().
|
inline |
Drop all poison-generating flags.
Definition at line 779 of file VPlan.h.
References DisjointFlags, ExactFlags, GEPFlags, llvm::GEPNoWrapFlags::none(), NonNegFlags, TruncFlags, and WrapFlags.
Returns true if the set flags are valid for Opcode.
Definition at line 2090 of file VPlanRecipes.cpp.
References llvm::VPInstruction::ComputeReductionResult, llvm_unreachable, llvm::VPInstruction::PtrAdd, llvm::VPInstruction::ReductionStartVector, llvm::VPInstruction::WideIVStep, and llvm::VPInstruction::WidePtrAdd.
Referenced by llvm::VPInstruction::execute(), and llvm::VPInstruction::VPInstruction().
| FastMathFlags VPIRFlags::getFastMathFlags | ( | ) | const |
Definition at line 364 of file VPlanRecipes.cpp.
References assert(), F, llvm::FastMathFlags::setAllowContract(), llvm::FastMathFlags::setAllowReassoc(), llvm::FastMathFlags::setAllowReciprocal(), llvm::FastMathFlags::setApproxFunc(), llvm::FastMathFlags::setNoInfs(), llvm::FastMathFlags::setNoNaNs(), and llvm::FastMathFlags::setNoSignedZeros().
Referenced by llvm::VPReductionRecipe::clone(), llvm::VPScalarIVStepsRecipe::clone(), llvm::VPReductionRecipe::computeCost(), llvm::VPInstruction::execute(), llvm::VPReductionEVLRecipe::execute(), llvm::VPReductionRecipe::execute(), llvm::VPScalarIVStepsRecipe::execute(), printFlags(), llvm::VPReductionEVLRecipe::VPReductionEVLRecipe(), and llvm::VPScalarIVStepsRecipe::VPScalarIVStepsRecipe().
|
inline |
Definition at line 874 of file VPlan.h.
References GEPFlags.
Referenced by llvm::VPVectorEndPointerRecipe::clone(), llvm::VPVectorPointerRecipe::clone(), llvm::VPVectorEndPointerRecipe::execute(), llvm::VPVectorPointerRecipe::execute(), and llvm::VPWidenGEPRecipe::execute().
|
inline |
Definition at line 859 of file VPlan.h.
References assert(), CmpPredicate, and FCmpFlags.
Referenced by llvm::VPWidenRecipe::execute(), llvm::VPRecipeWithIRFlags::getCostForRecipeWithOpcode(), printFlags(), and scalarizeInstruction().
|
inline |
Definition at line 926 of file VPlan.h.
References assert(), and ReductionFlags.
Referenced by printFlags().
|
inline |
Returns true if the recipe has fast-math flags.
Definition at line 882 of file VPlan.h.
Referenced by llvm::VPScalarIVStepsRecipe::clone(), llvm::VPInstruction::execute(), and llvm::VPScalarIVStepsRecipe::execute().
|
inline |
|
inline |
Definition at line 909 of file VPlan.h.
References llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Definition at line 898 of file VPlan.h.
References llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Returns true if the recipe has a comparison predicate.
Definition at line 877 of file VPlan.h.
Referenced by scalarizeInstruction().
Only keep flags also present in Other.
Other must have the same OpType as the current object.
Definition at line 314 of file VPlanRecipes.cpp.
References AllFlags, assert(), CmpPredicate, DisjointFlags, ExactFlags, FCmpFlags, GEPFlags, NonNegFlags, ReductionFlags, TruncFlags, VPIRFlags(), and WrapFlags.
|
inline |
Definition at line 920 of file VPlan.h.
References assert(), and DisjointFlags.
|
inline |
Definition at line 892 of file VPlan.h.
References assert(), and NonNegFlags.
|
inline |
Definition at line 938 of file VPlan.h.
References assert(), and ReductionFlags.
Referenced by printFlags().
|
inline |
Definition at line 932 of file VPlan.h.
References assert(), and ReductionFlags.
Referenced by printFlags().
| void VPIRFlags::printFlags | ( | raw_ostream & | O | ) | const |
Definition at line 2131 of file VPlanRecipes.cpp.
References DisjointFlags, ExactFlags, llvm::FMaximum, llvm::FMaximumNum, llvm::FMaxNum, llvm::FMinimum, llvm::FMinimumNum, llvm::FMinNum, GEPFlags, getFastMathFlags(), llvm::RecurrenceDescriptor::getOpcode(), llvm::Instruction::getOpcodeName(), getPredicate(), llvm::CmpInst::getPredicateName(), getRecurKind(), isReductionInLoop(), isReductionOrdered(), NonNegFlags, llvm::FastMathFlags::print(), llvm::SMax, llvm::SMin, TruncFlags, llvm::UMax, llvm::UMin, and WrapFlags.
Referenced by llvm::VPInstruction::printRecipe(), llvm::VPReductionEVLRecipe::printRecipe(), llvm::VPReductionRecipe::printRecipe(), llvm::VPReplicateRecipe::printRecipe(), llvm::VPVectorEndPointerRecipe::printRecipe(), llvm::VPVectorPointerRecipe::printRecipe(), llvm::VPWidenCallRecipe::printRecipe(), llvm::VPWidenCastRecipe::printRecipe(), llvm::VPWidenGEPRecipe::printRecipe(), llvm::VPWidenIntOrFpInductionRecipe::printRecipe(), llvm::VPWidenIntrinsicRecipe::printRecipe(), and llvm::VPWidenRecipe::printRecipe().
|
inline |
Definition at line 865 of file VPlan.h.
References assert(), CmpPredicate, and FCmpFlags.
|
inline |
Definition at line 769 of file VPlan.h.
References AllFlags, and VPIRFlags().
| unsigned llvm::VPIRFlags::AllFlags |
Definition at line 698 of file VPlan.h.
Referenced by intersectFlags(), transferFlags(), VPIRFlags(), and VPIRFlags().
| CmpInst::Predicate llvm::VPIRFlags::CmpPredicate |
Definition at line 688 of file VPlan.h.
Referenced by getPredicate(), intersectFlags(), setPredicate(), VPIRFlags(), and VPIRFlags().
| DisjointFlagsTy llvm::VPIRFlags::DisjointFlags |
Definition at line 691 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), isDisjoint(), printFlags(), VPIRFlags(), and VPIRFlags().
| ExactFlagsTy llvm::VPIRFlags::ExactFlags |
Definition at line 692 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), printFlags(), and VPIRFlags().
| FCmpFlagsTy llvm::VPIRFlags::FCmpFlags |
Definition at line 696 of file VPlan.h.
Referenced by getPredicate(), intersectFlags(), setPredicate(), VPIRFlags(), and VPIRFlags().
| FastMathFlagsTy llvm::VPIRFlags::FMFs |
Definition at line 695 of file VPlan.h.
Referenced by llvm::VPReductionRecipe::computeCost(), VPIRFlags(), VPIRFlags(), VPIRFlags(), VPIRFlags(), llvm::VPReductionRecipe::VPReductionRecipe(), llvm::VPReductionRecipe::VPReductionRecipe(), llvm::VPReductionRecipe::VPReductionRecipe(), and llvm::VPScalarIVStepsRecipe::VPScalarIVStepsRecipe().
| GEPNoWrapFlags llvm::VPIRFlags::GEPFlags |
Definition at line 693 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), getGEPNoWrapFlags(), intersectFlags(), printFlags(), VPIRFlags(), VPIRFlags(), llvm::VPVectorEndPointerRecipe::VPVectorEndPointerRecipe(), and llvm::VPVectorPointerRecipe::VPVectorPointerRecipe().
| NonNegFlagsTy llvm::VPIRFlags::NonNegFlags |
Definition at line 694 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), isNonNeg(), printFlags(), VPIRFlags(), and VPIRFlags().
| ReductionFlagsTy llvm::VPIRFlags::ReductionFlags |
Definition at line 697 of file VPlan.h.
Referenced by getRecurKind(), intersectFlags(), isReductionInLoop(), isReductionOrdered(), and VPIRFlags().
| TruncFlagsTy llvm::VPIRFlags::TruncFlags |
Definition at line 690 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), intersectFlags(), printFlags(), VPIRFlags(), and VPIRFlags().
| WrapFlagsTy llvm::VPIRFlags::WrapFlags |
Definition at line 689 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), intersectFlags(), printFlags(), VPIRFlags(), and VPIRFlags().