class VPIntrinsic

Declaration

class VPIntrinsic : public IntrinsicInst { /* full declaration omitted */ };

Description

This is the common base class for vector predication intrinsics.

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:395

Inherits from: IntrinsicInst

Member Variables

Inherited from CallBase:

protected Attrs
protected FTy
protected static CalledOperandOpEndIdx = -1

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasMetadata
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 32
public static MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

Inherited from IntrinsicInst:

Inherited from CallInst:

Inherited from CallBase:

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

bool canIgnoreVectorLengthParam() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:422

Returns

Whether the vector length param can be ignored.

static bool classof(const llvm::Value* V)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:445

Parameters

const llvm::Value* V

static bool classof(const llvm::IntrinsicInst* I)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:442

Parameters

const llvm::IntrinsicInst* I

static llvm::Function* getDeclarationForParams(
    llvm::Module* M,
    Intrinsic::ID,
    llvm::Type* ReturnType,
    ArrayRef<llvm::Value*> Params)

Description

Declares a llvm.vp.* intrinsic in \p M that matches the parameters\p Params. Additionally, the load and gather intrinsics require\p ReturnType to be specified.

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:400

Parameters

llvm::Module* M
Intrinsic::ID
llvm::Type* ReturnType
ArrayRef<llvm::Value*> Params

static Intrinsic::ID getForOpcode(unsigned int OC)

Description

The llvm.vp.* intrinsics for this instruction Opcode

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:408

Parameters

unsigned int OC

Optional<unsigned int> getFunctionalOpcode() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:450

static Optional<unsigned int>
getFunctionalOpcodeForVP(Intrinsic::ID ID)

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

Parameters

Intrinsic::ID ID

llvm::Value* getMaskParam() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:414

Returns

The mask parameter or nullptr.

static Optional<unsigned int> getMaskParamPos(
    Intrinsic::ID IntrinsicID)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:404

Parameters

Intrinsic::ID IntrinsicID

llvm::Value* getMemoryDataParam() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:438

Returns

The data (payload) operand of this store or scatter.

static Optional<unsigned int>
getMemoryDataParamPos(Intrinsic::ID)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:439

Parameters

Intrinsic::ID

llvm::Value* getMemoryPointerParam() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:434

Returns

The pointer operand of this load,store, gather or scatter.

static Optional<unsigned int>
getMemoryPointerParamPos(Intrinsic::ID)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:435

Parameters

Intrinsic::ID

llvm::MaybeAlign getPointerAlignment() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:430

Returns

The alignment of the pointer used by this load/store/gather or scatter.

llvm::ElementCount getStaticVectorLength() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:426

Returns

The static element count (vector number of elements) the vector length parameter applies to.

llvm::Value* getVectorLengthParam() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:418

Returns

The vector length parameter or nullptr.

static Optional<unsigned int>
getVectorLengthParamPos(Intrinsic::ID IntrinsicID)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:405

Parameters

Intrinsic::ID IntrinsicID

static bool isVPIntrinsic(Intrinsic::ID)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:411

Parameters

Intrinsic::ID

void setMaskParam(llvm::Value*)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:415

Parameters

llvm::Value*

void setVectorLengthParam(llvm::Value*)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:419

Parameters

llvm::Value*