LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
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.
 
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 82 of file VFABIDemangler.h.

Member Function Documentation

◆ get()

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

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

Referenced by getScalarShape(), and getVectorCallCosts().

◆ getScalarShape()

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

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

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

◆ hasValidParameterList()

bool VFShape::hasValidParameterList ( ) const

◆ operator==()

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

Definition at line 86 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 91 of file VFABIDemangler.h.

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

Member Data Documentation

◆ Parameters

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

◆ VF

ElementCount llvm::VFShape::VF

Definition at line 83 of file VFABIDemangler.h.

Referenced by operator==().


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