LLVM 22.0.0git
llvm::VFShape Struct Reference

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.
LLVM_ABI 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

Detailed Description

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 84 of file VFABIDemangler.h.

Member Function Documentation

◆ get()

VFShape llvm::VFShape::get ( const FunctionType * FTy,
ElementCount EC,
bool HasGlobalPred )
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 109 of file VFABIDemangler.h.

References llvm::FunctionType::getNumParams(), llvm::GlobalPredicate, I, Parameters, and llvm::Vector.

Referenced by getScalarShape(), and getVectorCallCosts().

◆ getScalarShape()

VFShape llvm::VFShape::getScalarShape ( const FunctionType * FTy)
inlinestatic

Retrieve the VFShape that can be used to map a scalar function to itself, with VF = 1.

Definition at line 101 of file VFABIDemangler.h.

References get(), and llvm::ElementCount::getFixed().

Referenced by llvm::VFDatabase::getVectorizedFunction().

◆ hasValidParameterList()

◆ operator==()

bool llvm::VFShape::operator== ( const VFShape & Other) const
inline

Definition at line 88 of file VFABIDemangler.h.

References llvm::Other, Parameters, and VF.

◆ updateParam()

void llvm::VFShape::updateParam ( VFParameter P)
inline

Update the parameter in position P.ParamPos to P.

Definition at line 93 of file VFABIDemangler.h.

References assert(), hasValidParameterList(), P, and Parameters.

Member Data Documentation

◆ Parameters

SmallVector<VFParameter, 8> llvm::VFShape::Parameters

Definition at line 86 of file VFABIDemangler.h.

Referenced by get(), hasValidParameterList(), operator==(), and updateParam().

◆ VF

ElementCount llvm::VFShape::VF

Definition at line 85 of file VFABIDemangler.h.

Referenced by operator==().


The documentation for this struct was generated from the following files: