class VectorType

Declaration

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

Description

Class to represent vector types.

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

Inherits from: SequentialType

Member Variables

Inherited from Type:

protected NumContainedTys = 0
protected ContainedTys = nullptr

Method Overview

Inherited from SequentialType:

Inherited from CompositeType:

Inherited from Type:

Methods

VectorType(const llvm::VectorType&)

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

Parameters

const llvm::VectorType&

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

Description

Methods for support type inquiry through isa, cast, and dyn_cast.

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

Parameters

const llvm::Type* T

static llvm::VectorType* get(
    llvm::Type* ElementType,
    llvm::ElementCount EC)

Description

This static method is the primary way to construct an VectorType.

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

Parameters

llvm::Type* ElementType
llvm::ElementCount EC

static llvm::VectorType* get(
    llvm::Type* ElementType,
    unsigned int NumElements,
    bool Scalable = false)

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

Parameters

llvm::Type* ElementType
unsigned int NumElements
bool Scalable = false

unsigned int getBitWidth() const

Description

Return the minimum number of bits in the Vector type. Returns zero when the vector is a vector of pointers.

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

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

Description

This static method returns a VectorType with twice as many elements as the input type and the same element type.

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

Parameters

llvm::VectorType* VTy

llvm::ElementCount getElementCount() const

Description

Return an ElementCount instance to represent the (possibly scalable) number of elements in the vector.

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

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

Description

This static method is like getInteger except that the element types are twice as wide as the elements in the input type.

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

Parameters

llvm::VectorType* VTy

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

Description

This static method returns a VectorType with half as many elements as the input type and the same element type.

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

Parameters

llvm::VectorType* VTy

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

Description

This static method gets a VectorType with the same number of elements as the input type, and the element type is an integer type of the same width as the input element type.

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

Parameters

llvm::VectorType* VTy

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

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

Parameters

llvm::VectorType* VTy
int NumSubdivs

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

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

Parameters

llvm::VectorType* VTy

bool isScalable() const

Description

Returns whether or not this is a scalable vector (meaning the total element count is a multiple of the minimum).

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

static bool isValidElementType(llvm::Type* ElemTy)

Description

Return true if the specified type is valid as a element type.

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

Parameters

llvm::Type* ElemTy