LLVM: llvm::VPIRFlags Class Reference (original) (raw)
Class to record and manage LLVM IR flags. More...
#include "[Transforms/Vectorize/VPlan.h](VPlan%5F8h%5Fsource.html)"
Class to record and manage LLVM IR flags.
Definition at line 609 of file VPlan.h.
◆ VPIRFlags() [1/10]
| llvm::VPIRFlags::VPIRFlags ( ) | inline |
|---|
◆ VPIRFlags() [2/10]
Definition at line 688 of file VPlan.h.
References AllFlags, CmpPredicate, DisjointFlags, llvm::dyn_cast(), ExactFlags, FCmpFlags, FMFs, GEP, GEPFlags, I, NonNegFlags, TruncFlags, and WrapFlags.
◆ VPIRFlags() [3/10]
◆ VPIRFlags() [4/10]
◆ VPIRFlags() [5/10]
| llvm::VPIRFlags::VPIRFlags ( WrapFlagsTy WrapFlags) | inline |
|---|
◆ VPIRFlags() [6/10]
| llvm::VPIRFlags::VPIRFlags ( TruncFlagsTy TruncFlags) | inline |
|---|
◆ VPIRFlags() [7/10]
◆ VPIRFlags() [8/10]
◆ VPIRFlags() [9/10]
◆ VPIRFlags() [10/10]
◆ applyFlags()
| void llvm::VPIRFlags::applyFlags ( Instruction & I) const | inline |
|---|
Apply the IR flags to I.
Definition at line 795 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(), llvm::VPWidenSelectRecipe::execute(), and scalarizeInstruction().
◆ dropPoisonGeneratingFlags()
| void llvm::VPIRFlags::dropPoisonGeneratingFlags ( ) | inline |
|---|
◆ flagsValidForOpcode()
| bool VPIRFlags::flagsValidForOpcode | ( | unsigned | Opcode | ) | const |
|---|
◆ getFastMathFlags()
Definition at line 355 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().
◆ getGEPNoWrapFlags()
◆ getPredicate()
◆ hasFastMathFlags()
| bool llvm::VPIRFlags::hasFastMathFlags ( ) const | inline |
|---|
◆ hasNonNegFlag()
| bool llvm::VPIRFlags::hasNonNegFlag ( ) const | inline |
|---|
Returns true if the recipe has non-negative flag.
Definition at line 865 of file VPlan.h.
◆ hasNoSignedWrap()
| bool llvm::VPIRFlags::hasNoSignedWrap ( ) const | inline |
|---|
◆ hasNoUnsignedWrap()
| bool llvm::VPIRFlags::hasNoUnsignedWrap ( ) const | inline |
|---|
◆ hasPredicate()
| bool llvm::VPIRFlags::hasPredicate ( ) const | inline |
|---|
◆ intersectFlags()
Only keep flags also present in Other.
Other must have the same OpType as the current object.
Definition at line 315 of file VPlanRecipes.cpp.
References AllFlags, assert(), CmpPredicate, DisjointFlags, ExactFlags, FCmpFlags, GEPFlags, NonNegFlags, TruncFlags, VPIRFlags(), and WrapFlags.
◆ isDisjoint()
| bool llvm::VPIRFlags::isDisjoint ( ) const | inline |
|---|
◆ isNonNeg()
| bool llvm::VPIRFlags::isNonNeg ( ) const | inline |
|---|
◆ printFlags()
Definition at line 2026 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(), llvm::VPWidenRecipe::printRecipe(), and llvm::VPWidenSelectRecipe::printRecipe().
◆ setPredicate()
◆ transferFlags()
| void llvm::VPIRFlags::transferFlags ( VPIRFlags & Other) | inline |
|---|
◆ AllFlags
◆ CmpPredicate
◆ DisjointFlags
◆ ExactFlags
ExactFlagsTy llvm::VPIRFlags::ExactFlags
◆ FCmpFlags
FCmpFlagsTy llvm::VPIRFlags::FCmpFlags
◆ FMFs
FastMathFlagsTy llvm::VPIRFlags::FMFs
◆ GEPFlags
◆ NonNegFlags
◆ TruncFlags
◆ WrapFlags
The documentation for this class was generated from the following files:
- lib/Transforms/Vectorize/VPlan.h
- lib/Transforms/Vectorize/VPlanRecipes.cpp