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 667 of file VPlan.h.
References AllFlags, DisjointFlags, ExactFlags, FMFs, GEP, GEPFlags, I, llvm::VPIRFlags::DisjointFlagsTy::IsDisjoint, llvm::VPIRFlags::NonNegFlagsTy::NonNeg, NonNegFlags, TruncFlags, and WrapFlags.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Apply the IR flags to I
.
Definition at line 757 of file VPlan.h.
References DisjointFlags, ExactFlags, FMFs, GEPFlags, llvm::VPIRFlags::WrapFlagsTy::HasNSW, llvm::VPIRFlags::TruncFlagsTy::HasNSW, llvm::VPIRFlags::WrapFlagsTy::HasNUW, llvm::VPIRFlags::TruncFlagsTy::HasNUW, I, llvm::VPIRFlags::DisjointFlagsTy::IsDisjoint, llvm::VPIRFlags::NonNegFlagsTy::NonNeg, NonNegFlags, TruncFlags, and WrapFlags.
Referenced by llvm::VPWidenRecipe::execute(), llvm::VPWidenCastRecipe::execute(), llvm::VPWidenIntrinsicRecipe::execute(), llvm::VPWidenCallRecipe::execute(), llvm::VPWidenSelectRecipe::execute(), and scalarizeInstruction().
|
inline |
Drop all poison-generating flags.
Definition at line 722 of file VPlan.h.
References DisjointFlags, ExactFlags, FMFs, GEPFlags, llvm::VPIRFlags::WrapFlagsTy::HasNSW, llvm::VPIRFlags::TruncFlagsTy::HasNSW, llvm::VPIRFlags::WrapFlagsTy::HasNUW, llvm::VPIRFlags::TruncFlagsTy::HasNUW, llvm::VPIRFlags::DisjointFlagsTy::IsDisjoint, llvm::GEPNoWrapFlags::none(), llvm::VPIRFlags::NonNegFlagsTy::NonNeg, NonNegFlags, TruncFlags, and WrapFlags.
Returns true if the set flags are valid for Opcode
.
Definition at line 1973 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 392 of file VPlanRecipes.cpp.
References assert(), FMFs, 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::computeCost(), llvm::VPInstruction::execute(), llvm::VPReductionRecipe::execute(), llvm::VPReductionEVLRecipe::execute(), llvm::VPScalarIVStepsRecipe::execute(), and printFlags().
|
inline |
Definition at line 806 of file VPlan.h.
References GEPFlags.
Referenced by llvm::VPVectorEndPointerRecipe::clone(), llvm::VPVectorPointerRecipe::clone(), llvm::VPWidenGEPRecipe::execute(), llvm::VPVectorEndPointerRecipe::execute(), and llvm::VPVectorPointerRecipe::execute().
|
inline |
Definition at line 794 of file VPlan.h.
References assert(), and CmpPredicate.
Referenced by llvm::VPWidenRecipe::execute(), llvm::VPRecipeWithIRFlags::getCostForRecipeWithOpcode(), printFlags(), and scalarizeInstruction().
|
inline |
Returns true if the recipe has fast-math flags.
Definition at line 812 of file VPlan.h.
Referenced by llvm::VPInstruction::execute(), and llvm::VPScalarIVStepsRecipe::execute().
|
inline |
|
inline |
Definition at line 836 of file VPlan.h.
References llvm::VPIRFlags::WrapFlagsTy::HasNSW, llvm::VPIRFlags::TruncFlagsTy::HasNSW, llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Definition at line 825 of file VPlan.h.
References llvm::VPIRFlags::WrapFlagsTy::HasNUW, llvm::VPIRFlags::TruncFlagsTy::HasNUW, llvm_unreachable, TruncFlags, and WrapFlags.
|
inline |
Returns true if the recipe has a comparison predicate.
Definition at line 809 of file VPlan.h.
Referenced by scalarizeInstruction().
|
inline |
Definition at line 847 of file VPlan.h.
References assert(), DisjointFlags, and llvm::VPIRFlags::DisjointFlagsTy::IsDisjoint.
|
inline |
Definition at line 819 of file VPlan.h.
References assert(), llvm::VPIRFlags::NonNegFlagsTy::NonNeg, and NonNegFlags.
void VPIRFlags::printFlags | ( | raw_ostream & | O | ) | const |
Definition at line 2010 of file VPlanRecipes.cpp.
References DisjointFlags, ExactFlags, GEPFlags, getFastMathFlags(), getPredicate(), llvm::CmpInst::getPredicateName(), llvm::GEPNoWrapFlags::hasNoUnsignedSignedWrap(), llvm::GEPNoWrapFlags::hasNoUnsignedWrap(), llvm::VPIRFlags::WrapFlagsTy::HasNSW, llvm::VPIRFlags::TruncFlagsTy::HasNSW, llvm::VPIRFlags::WrapFlagsTy::HasNUW, llvm::VPIRFlags::TruncFlagsTy::HasNUW, llvm::VPIRFlags::DisjointFlagsTy::IsDisjoint, llvm::GEPNoWrapFlags::isInBounds(), llvm::VPIRFlags::NonNegFlagsTy::NonNeg, NonNegFlags, llvm::FastMathFlags::print(), TruncFlags, and WrapFlags.
Referenced by llvm::VPInstruction::print(), llvm::VPWidenRecipe::print(), llvm::VPWidenCastRecipe::print(), llvm::VPWidenIntrinsicRecipe::print(), llvm::VPWidenCallRecipe::print(), llvm::VPWidenSelectRecipe::print(), llvm::VPWidenGEPRecipe::print(), llvm::VPVectorEndPointerRecipe::print(), llvm::VPReductionRecipe::print(), llvm::VPReductionEVLRecipe::print(), and llvm::VPReplicateRecipe::print().
|
inline |
|
inline |
unsigned llvm::VPIRFlags::AllFlags |
Definition at line 661 of file VPlan.h.
Referenced by transferFlags(), and VPIRFlags().
CmpInst::Predicate llvm::VPIRFlags::CmpPredicate |
Definition at line 653 of file VPlan.h.
Referenced by getPredicate().
DisjointFlagsTy llvm::VPIRFlags::DisjointFlags |
Definition at line 656 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), isDisjoint(), printFlags(), and VPIRFlags().
ExactFlagsTy llvm::VPIRFlags::ExactFlags |
Definition at line 657 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), printFlags(), and VPIRFlags().
FastMathFlagsTy llvm::VPIRFlags::FMFs |
Definition at line 660 of file VPlan.h.
Referenced by applyFlags(), llvm::VPReductionRecipe::computeCost(), dropPoisonGeneratingFlags(), getFastMathFlags(), and VPIRFlags().
GEPNoWrapFlags llvm::VPIRFlags::GEPFlags |
Definition at line 658 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), getGEPNoWrapFlags(), printFlags(), and VPIRFlags().
NonNegFlagsTy llvm::VPIRFlags::NonNegFlags |
Definition at line 659 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), isNonNeg(), printFlags(), and VPIRFlags().
TruncFlagsTy llvm::VPIRFlags::TruncFlags |
Definition at line 655 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), printFlags(), and VPIRFlags().
WrapFlagsTy llvm::VPIRFlags::WrapFlags |
Definition at line 654 of file VPlan.h.
Referenced by applyFlags(), dropPoisonGeneratingFlags(), hasNoSignedWrap(), hasNoUnsignedWrap(), printFlags(), and VPIRFlags().