|
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 759 of file VPlan.h.
References AllFlags.
Referenced by intersectFlags(), transferFlags(), llvm::VPRecipeWithIRFlags::VPRecipeWithIRFlags(), llvm::VPWidenIntOrFpInductionRecipe::VPWidenIntOrFpInductionRecipe(), and llvm::VPWidenIntOrFpInductionRecipe::VPWidenIntOrFpInductionRecipe().
|
inline |
Definition at line 761 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 796 of file VPlan.h.
References CmpPredicate.
|
inline |
|
inline |
|
inline |
Definition at line 808 of file VPlan.h.
References TruncFlags.
|
inline |
|
inline |
Definition at line 813 of file VPlan.h.
References DisjointFlags.
|
inline |
Definition at line 816 of file VPlan.h.
References NonNegFlags.
|
inline |
|
inline |
Definition at line 822 of file VPlan.h.
References FMFs, and ReductionFlags.
|
inline |
Apply the IR flags to I.
Definition at line 873 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 836 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 2056 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 368 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 930 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 915 of file VPlan.h.
References assert(), CmpPredicate, and FCmpFlags.
Referenced by llvm::VPWidenRecipe::execute(), llvm::VPRecipeWithIRFlags::getCostForRecipeWithOpcode(), printFlags(), and scalarizeInstruction().
|
inline |
Definition at line 982 of file VPlan.h.
References assert(), and ReductionFlags.
Referenced by printFlags().
|
inline |
Returns true if the recipe has fast-math flags.
Definition at line 938 of file VPlan.h.
Referenced by llvm::VPScalarIVStepsRecipe::clone(), llvm::VPInstruction::execute(), and llvm::VPScalarIVStepsRecipe::execute().
|
inline |
|
inline |
Definition at line 965 of file VPlan.h.
References llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Definition at line 954 of file VPlan.h.
References llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Returns true if the recipe has a comparison predicate.
Definition at line 933 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 318 of file VPlanRecipes.cpp.
References AllFlags, assert(), CmpPredicate, DisjointFlags, ExactFlags, FCmpFlags, GEPFlags, NonNegFlags, ReductionFlags, TruncFlags, VPIRFlags(), and WrapFlags.
|
inline |
Definition at line 976 of file VPlan.h.
References assert(), and DisjointFlags.
|
inline |
Definition at line 948 of file VPlan.h.
References assert(), and NonNegFlags.
|
inline |
Definition at line 994 of file VPlan.h.
References assert(), and ReductionFlags.
Referenced by printFlags().
|
inline |
Definition at line 988 of file VPlan.h.
References assert(), and ReductionFlags.
Referenced by printFlags().
| void VPIRFlags::printFlags | ( | raw_ostream & | O | ) | const |
Definition at line 2097 of file VPlanRecipes.cpp.
References llvm::AnyOf, 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 921 of file VPlan.h.
References assert(), CmpPredicate, and FCmpFlags.
|
inline |
Definition at line 826 of file VPlan.h.
References AllFlags, and VPIRFlags().
| unsigned llvm::VPIRFlags::AllFlags |
Definition at line 755 of file VPlan.h.
Referenced by intersectFlags(), transferFlags(), VPIRFlags(), and VPIRFlags().
| CmpInst::Predicate llvm::VPIRFlags::CmpPredicate |
Definition at line 745 of file VPlan.h.
Referenced by getPredicate(), intersectFlags(), setPredicate(), VPIRFlags(), and VPIRFlags().
| DisjointFlagsTy llvm::VPIRFlags::DisjointFlags |
Definition at line 748 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), isDisjoint(), printFlags(), VPIRFlags(), and VPIRFlags().
| ExactFlagsTy llvm::VPIRFlags::ExactFlags |
Definition at line 749 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), printFlags(), and VPIRFlags().
| FCmpFlagsTy llvm::VPIRFlags::FCmpFlags |
Definition at line 753 of file VPlan.h.
Referenced by getPredicate(), intersectFlags(), setPredicate(), VPIRFlags(), and VPIRFlags().
| FastMathFlagsTy llvm::VPIRFlags::FMFs |
Definition at line 752 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 750 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 751 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), isNonNeg(), printFlags(), VPIRFlags(), and VPIRFlags().
| ReductionFlagsTy llvm::VPIRFlags::ReductionFlags |
Definition at line 754 of file VPlan.h.
Referenced by getRecurKind(), intersectFlags(), isReductionInLoop(), isReductionOrdered(), and VPIRFlags().
| TruncFlagsTy llvm::VPIRFlags::TruncFlags |
Definition at line 747 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), intersectFlags(), printFlags(), VPIRFlags(), and VPIRFlags().
| WrapFlagsTy llvm::VPIRFlags::WrapFlags |
Definition at line 746 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), intersectFlags(), printFlags(), VPIRFlags(), and VPIRFlags().