LLVM 20.0.0git
|
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/TypeSize.h"
Go to the source code of this file.
Classes | |
struct | llvm::VFParameter |
Encapsulates information needed to describe a parameter. More... | |
struct | llvm::VFShape |
Contains the information about the kind of vectorization available. More... | |
struct | llvm::VFInfo |
Holds the VFShape for a specific scalar to vector function mapping. More... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::VFABI |
Enumerations | |
enum class | llvm::VFParamKind { llvm::Vector , llvm::OMP_Linear , llvm::OMP_LinearRef , llvm::OMP_LinearVal , llvm::OMP_LinearUVal , llvm::OMP_LinearPos , llvm::OMP_LinearValPos , llvm::OMP_LinearRefPos , llvm::OMP_LinearUValPos , llvm::OMP_Uniform , llvm::GlobalPredicate , llvm::Unknown } |
Describes the type of Parameters. More... | |
enum class | llvm::VFISAKind { llvm::AdvancedSIMD , llvm::SVE , llvm::RVV , llvm::SSE , llvm::AVX , llvm::AVX2 , llvm::AVX512 , llvm::LLVM , llvm::Unknown } |
Describes the type of Instruction Set Architecture. More... | |
Functions | |
std::optional< VFInfo > | llvm::VFABI::tryDemangleForVFABI (StringRef MangledName, const FunctionType *FTy) |
Function to construct a VFInfo out of a mangled names in the following format: | |
VFParamKind | llvm::VFABI::getVFParamKindFromString (const StringRef Token) |
Retrieve the VFParamKind from a string token. | |
void | llvm::VFABI::getVectorVariantNames (const CallInst &CI, SmallVectorImpl< std::string > &VariantMappings) |
Populates a set of strings representing the Vector Function ABI variants associated to the CallInst CI. | |
FunctionType * | llvm::VFABI::createFunctionType (const VFInfo &Info, const FunctionType *ScalarFTy) |
Constructs a FunctionType by applying vector function information to the type of a matching scalar function. | |
void | llvm::VFABI::setVectorVariantNames (CallInst *CI, ArrayRef< std::string > VariantMappings) |
Overwrite the Vector Function ABI variants attribute with the names provide in VariantMappings . | |
Variables | |
static constexpr char const * | llvm::VFABI::_LLVM_ = "_LLVM_" |
LLVM Internal VFABI ISA token for vector functions. | |
static constexpr char const * | llvm::VFABI::_LLVM_Scalarize_ = "_LLVM_Scalarize_" |
Prefix for internal name redirection for vector function that tells the compiler to scalarize the call using the scalar name of the function. | |
static constexpr char const * | llvm::VFABI::MappingsAttrName = "vector-function-abi-variant" |