LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
llvm::VectorBuilder Class Reference

#include "llvm/IR/VectorBuilder.h"

Public Types

enum class  Behavior { ReportAndAbort = 0 , SilentlyReturnNone = 1 }
 

Public Member Functions

 VectorBuilder (IRBuilderBase &Builder, Behavior ErrorHandling=Behavior::ReportAndAbort)
 
ModulegetModule () const
 
LLVMContextgetContext () const
 
ValuegetAllTrueMask ()
 
VectorBuildersetMask (Value *NewMask)
 
VectorBuildersetEVL (Value *NewExplicitVectorLength)
 
VectorBuildersetStaticVL (unsigned NewFixedVL)
 
ValuecreateVectorInstruction (unsigned Opcode, Type *ReturnTy, ArrayRef< Value * > VecOpArray, const Twine &Name=Twine())
 
ValuecreateSimpleReduction (Intrinsic::ID RdxID, Type *ValTy, ArrayRef< Value * > VecOpArray, const Twine &Name=Twine())
 Emit a VP reduction intrinsic call for recurrence kind.
 

Detailed Description

Definition at line 25 of file VectorBuilder.h.

Member Enumeration Documentation

◆ Behavior

enum class llvm::VectorBuilder::Behavior
strong
Enumerator
ReportAndAbort 
SilentlyReturnNone 

Definition at line 27 of file VectorBuilder.h.

Constructor & Destructor Documentation

◆ VectorBuilder()

llvm::VectorBuilder::VectorBuilder ( IRBuilderBase Builder,
Behavior  ErrorHandling = Behavior::ReportAndAbort 
)
inline

Definition at line 66 of file VectorBuilder.h.

Member Function Documentation

◆ createSimpleReduction()

Value * llvm::VectorBuilder::createSimpleReduction ( Intrinsic::ID  RdxID,
Type ValTy,
ArrayRef< Value * >  VecOpArray,
const Twine Name = Twine() 
)

Emit a VP reduction intrinsic call for recurrence kind.

Parameters
RdxIDThe intrinsic ID of llvm.vector.reduce.*
ValTyThe type of operand which the reduction operation is performed.
VecOpArrayThe operand list.

Definition at line 63 of file VectorBuilder.cpp.

References assert(), llvm::VPIntrinsic::getForIntrinsic(), llvm::VPReductionIntrinsic::isVPReduction(), and Name.

Referenced by llvm::createOrderedReduction(), and llvm::createSimpleReduction().

◆ createVectorInstruction()

Value * llvm::VectorBuilder::createVectorInstruction ( unsigned  Opcode,
Type ReturnTy,
ArrayRef< Value * >  VecOpArray,
const Twine Name = Twine() 
)

◆ getAllTrueMask()

Value * llvm::VectorBuilder::getAllTrueMask ( )

Definition at line 34 of file VectorBuilder.cpp.

References llvm::IRBuilderBase::getAllOnesMask().

◆ getContext()

LLVMContext & llvm::VectorBuilder::getContext ( ) const
inline

Definition at line 73 of file VectorBuilder.h.

References llvm::IRBuilderBase::getContext().

◆ getModule()

Module & llvm::VectorBuilder::getModule ( ) const

◆ setEVL()

VectorBuilder & llvm::VectorBuilder::setEVL ( Value NewExplicitVectorLength)
inline

◆ setMask()

VectorBuilder & llvm::VectorBuilder::setMask ( Value NewMask)
inline

◆ setStaticVL()

VectorBuilder & llvm::VectorBuilder::setStaticVL ( unsigned  NewFixedVL)
inline

Definition at line 86 of file VectorBuilder.h.

References llvm::ElementCount::getFixed().


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