LLVM 20.0.0git
|
Contains the information about the kind of vectorization available. More...
#include "llvm/IR/VFABIDemangler.h"
Public Member Functions | |
bool | operator== (const VFShape &Other) const |
void | updateParam (VFParameter P) |
Update the parameter in position P.ParamPos to P. | |
bool | hasValidParameterList () const |
Validation check on the Parameters in the VFShape. | |
Static Public Member Functions | |
static VFShape | getScalarShape (const FunctionType *FTy) |
Retrieve the VFShape that can be used to map a scalar function to itself, with VF = 1. | |
static VFShape | get (const FunctionType *FTy, ElementCount EC, bool HasGlobalPred) |
Retrieve the basic vectorization shape of the function, where all parameters are mapped to VFParamKind::Vector with EC lanes. | |
Public Attributes | |
ElementCount | VF |
SmallVector< VFParameter, 8 > | Parameters |
Contains the information about the kind of vectorization available.
This object in independent on the paradigm used to represent vector functions. in particular, it is not attached to any target-specific ABI.
Definition at line 83 of file VFABIDemangler.h.
|
inlinestatic |
Retrieve the basic vectorization shape of the function, where all parameters are mapped to VFParamKind::Vector with EC
lanes.
Specifies whether the function has a Global Predicate argument via HasGlobalPred
.
Definition at line 108 of file VFABIDemangler.h.
References llvm::FunctionType::getNumParams(), llvm::GlobalPredicate, I, Parameters, and llvm::Vector.
Referenced by getScalarShape(), and getVectorCallCosts().
|
inlinestatic |
Retrieve the VFShape that can be used to map a scalar function to itself, with VF = 1.
Definition at line 100 of file VFABIDemangler.h.
References get(), and llvm::ElementCount::getFixed().
Referenced by llvm::VFDatabase::getVectorizedFunction().
bool VFShape::hasValidParameterList | ( | ) | const |
Validation check on the Parameters in the VFShape.
Definition at line 611 of file VFABIDemangler.cpp.
References assert(), llvm::GlobalPredicate, llvm::OMP_Linear, llvm::OMP_LinearPos, llvm::OMP_LinearRef, llvm::OMP_LinearRefPos, llvm::OMP_LinearUVal, llvm::OMP_LinearUValPos, llvm::OMP_LinearVal, llvm::OMP_LinearValPos, llvm::OMP_Uniform, and Parameters.
Referenced by updateParam().
Definition at line 87 of file VFABIDemangler.h.
References llvm::Other, Parameters, and VF.
|
inline |
Update the parameter in position P.ParamPos to P.
Definition at line 92 of file VFABIDemangler.h.
References assert(), hasValidParameterList(), P, and Parameters.
SmallVector<VFParameter, 8> llvm::VFShape::Parameters |
Definition at line 85 of file VFABIDemangler.h.
Referenced by get(), llvm::VFInfo::getParamIndexForOptionalMask(), hasValidParameterList(), operator==(), and updateParam().
ElementCount llvm::VFShape::VF |
Definition at line 84 of file VFABIDemangler.h.
Referenced by operator==().