|
LLVM 22.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 685 of file VPlan.h.
References AllFlags.
Referenced by intersectFlags(), transferFlags(), llvm::VPRecipeWithIRFlags::VPRecipeWithIRFlags(), llvm::VPWidenIntOrFpInductionRecipe::VPWidenIntOrFpInductionRecipe(), and llvm::VPWidenIntOrFpInductionRecipe::VPWidenIntOrFpInductionRecipe().
|
inline |
Definition at line 687 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 722 of file VPlan.h.
References CmpPredicate.
|
inline |
|
inline |
|
inline |
Definition at line 734 of file VPlan.h.
References TruncFlags.
|
inline |
|
inline |
Definition at line 739 of file VPlan.h.
References DisjointFlags.
|
inline |
Definition at line 742 of file VPlan.h.
References NonNegFlags.
|
inline |
|
inline |
Apply the IR flags to I.
Definition at line 794 of file VPlan.h.
References llvm::cast(), DisjointFlags, ExactFlags, F, GEPFlags, I, 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 758 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 2059 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 354 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 849 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 834 of file VPlan.h.
References assert(), CmpPredicate, and FCmpFlags.
Referenced by llvm::VPWidenRecipe::execute(), llvm::VPUnrollPartAccessor< 1 >::getUnrollPart(), printFlags(), and scalarizeInstruction().
|
inline |
Returns true if the recipe has fast-math flags.
Definition at line 857 of file VPlan.h.
Referenced by llvm::VPScalarIVStepsRecipe::clone(), llvm::VPInstruction::execute(), and llvm::VPScalarIVStepsRecipe::execute().
|
inline |
|
inline |
Definition at line 883 of file VPlan.h.
References llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Definition at line 872 of file VPlan.h.
References llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Returns true if the recipe has a comparison predicate.
Definition at line 852 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, TruncFlags, VPIRFlags(), and WrapFlags.
|
inline |
Definition at line 894 of file VPlan.h.
References assert(), and DisjointFlags.
|
inline |
Definition at line 866 of file VPlan.h.
References assert(), and NonNegFlags.
| void VPIRFlags::printFlags | ( | raw_ostream & | O | ) | const |
Definition at line 2099 of file VPlanRecipes.cpp.
References DisjointFlags, ExactFlags, GEPFlags, getFastMathFlags(), getPredicate(), llvm::CmpInst::getPredicateName(), NonNegFlags, llvm::FastMathFlags::print(), TruncFlags, 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 840 of file VPlan.h.
References assert(), CmpPredicate, and FCmpFlags.
|
inline |
Definition at line 748 of file VPlan.h.
References AllFlags, and VPIRFlags().
| unsigned llvm::VPIRFlags::AllFlags |
Definition at line 681 of file VPlan.h.
Referenced by intersectFlags(), transferFlags(), VPIRFlags(), and VPIRFlags().
| CmpInst::Predicate llvm::VPIRFlags::CmpPredicate |
Definition at line 672 of file VPlan.h.
Referenced by getPredicate(), intersectFlags(), setPredicate(), VPIRFlags(), and VPIRFlags().
| DisjointFlagsTy llvm::VPIRFlags::DisjointFlags |
Definition at line 675 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), isDisjoint(), printFlags(), VPIRFlags(), and VPIRFlags().
| ExactFlagsTy llvm::VPIRFlags::ExactFlags |
Definition at line 676 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), printFlags(), and VPIRFlags().
| FCmpFlagsTy llvm::VPIRFlags::FCmpFlags |
Definition at line 680 of file VPlan.h.
Referenced by getPredicate(), intersectFlags(), setPredicate(), VPIRFlags(), and VPIRFlags().
| FastMathFlagsTy llvm::VPIRFlags::FMFs |
Definition at line 679 of file VPlan.h.
Referenced by llvm::VPReductionRecipe::computeCost(), VPIRFlags(), VPIRFlags(), VPIRFlags(), llvm::VPReductionRecipe::VPReductionRecipe(), llvm::VPReductionRecipe::VPReductionRecipe(), llvm::VPReductionRecipe::VPReductionRecipe(), and llvm::VPScalarIVStepsRecipe::VPScalarIVStepsRecipe().
| GEPNoWrapFlags llvm::VPIRFlags::GEPFlags |
Definition at line 677 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 678 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), intersectFlags(), isNonNeg(), printFlags(), VPIRFlags(), and VPIRFlags().
| TruncFlagsTy llvm::VPIRFlags::TruncFlags |
Definition at line 674 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), intersectFlags(), printFlags(), VPIRFlags(), and VPIRFlags().
| WrapFlagsTy llvm::VPIRFlags::WrapFlags |
Definition at line 673 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), intersectFlags(), printFlags(), VPIRFlags(), and VPIRFlags().