class ScalableVectorType

Declaration

class ScalableVectorType : public VectorType { /* full declaration omitted */ };

Description

Class to represent scalable SIMD vectors

Declared at: llvm/include/llvm/IR/DerivedTypes.h:572

Inherits from: VectorType

Member Variables

Inherited from VectorType:

protected ElementQuantity

Inherited from Type:

protected NumContainedTys = 0
protected ContainedTys = nullptr

Method Overview

  • protected ScalableVectorType(llvm::Type * ElTy, unsigned int MinNumElts)
  • public static bool classof(const llvm::Type * T)
  • public static llvm::ScalableVectorType * get(llvm::Type * ElementType, unsigned int MinNumElts)
  • public static llvm::ScalableVectorType * get(llvm::Type * ElementType, const llvm::ScalableVectorType * SVTy)
  • public static llvm::ScalableVectorType * getDoubleElementsVectorType(llvm::ScalableVectorType * VTy)
  • public static llvm::ScalableVectorType * getExtendedElementVectorType(llvm::ScalableVectorType * VTy)
  • public static llvm::ScalableVectorType * getHalfElementsVectorType(llvm::ScalableVectorType * VTy)
  • public static llvm::ScalableVectorType * getInteger(llvm::ScalableVectorType * VTy)
  • public uint64_t getMinNumElements() const
  • public static llvm::ScalableVectorType * getSubdividedVectorType(llvm::ScalableVectorType * VTy, int NumSubdivs)
  • public static llvm::ScalableVectorType * getTruncatedElementVectorType(llvm::ScalableVectorType * VTy)

Inherited from VectorType:

Inherited from Type:

Methods

ScalableVectorType(llvm::Type* ElTy,
                   unsigned int MinNumElts)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:574

Parameters

llvm::Type* ElTy
unsigned int MinNumElts

static bool classof(const llvm::Type* T)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:622

Parameters

const llvm::Type* T

static llvm::ScalableVectorType* get(
    llvm::Type* ElementType,
    unsigned int MinNumElts)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:578

Parameters

llvm::Type* ElementType
unsigned int MinNumElts

static llvm::ScalableVectorType* get(
    llvm::Type* ElementType,
    const llvm::ScalableVectorType* SVTy)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:580

Parameters

llvm::Type* ElementType
const llvm::ScalableVectorType* SVTy

static llvm::ScalableVectorType*
getDoubleElementsVectorType(
    llvm::ScalableVectorType* VTy)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:613

Parameters

llvm::ScalableVectorType* VTy

static llvm::ScalableVectorType*
getExtendedElementVectorType(
    llvm::ScalableVectorType* VTy)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:590

Parameters

llvm::ScalableVectorType* VTy

static llvm::ScalableVectorType*
getHalfElementsVectorType(
    llvm::ScalableVectorType* VTy)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:608

Parameters

llvm::ScalableVectorType* VTy

static llvm::ScalableVectorType* getInteger(
    llvm::ScalableVectorType* VTy)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:585

Parameters

llvm::ScalableVectorType* VTy

uint64_t getMinNumElements() const

Description

Get the minimum number of elements in this vector. The actual number of elements in the vector is an integer multiple of this value.

Declared at: llvm/include/llvm/IR/DerivedTypes.h:620

static llvm::ScalableVectorType*
getSubdividedVectorType(
    llvm::ScalableVectorType* VTy,
    int NumSubdivs)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:601

Parameters

llvm::ScalableVectorType* VTy
int NumSubdivs

static llvm::ScalableVectorType*
getTruncatedElementVectorType(
    llvm::ScalableVectorType* VTy)

Declared at: llvm/include/llvm/IR/DerivedTypes.h:596

Parameters

llvm::ScalableVectorType* VTy