LLVM 19.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())
 
ValuecreateSimpleTargetReduction (RecurKind Kind, Type *ValTy, ArrayRef< Value * > VecOpArray, const Twine &Name=Twine())
 Emit a VP reduction intrinsic call for recurrence kind.
 

Detailed Description

Definition at line 26 of file VectorBuilder.h.

Member Enumeration Documentation

◆ Behavior

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

Definition at line 28 of file VectorBuilder.h.

Constructor & Destructor Documentation

◆ VectorBuilder()

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

Definition at line 67 of file VectorBuilder.h.

Member Function Documentation

◆ createSimpleTargetReduction()

Value * llvm::VectorBuilder::createSimpleTargetReduction ( RecurKind  Kind,
Type ValTy,
ArrayRef< Value * >  VecOpArray,
const Twine Name = Twine() 
)

Emit a VP reduction intrinsic call for recurrence kind.

Parameters
KindThe kind of recurrence
ValTyThe type of operand which the reduction operation is performed.
VecOpArrayThe operand list.

Definition at line 63 of file VectorBuilder.cpp.

References llvm::Add, llvm::And, llvm::FAdd, llvm::FMax, llvm::FMaximum, llvm::FMin, llvm::FMinimum, llvm::FMul, llvm::FMulAdd, llvm_unreachable, llvm::Mul, Name, llvm::Or, llvm::SMax, llvm::SMin, llvm::UMax, llvm::UMin, and llvm::Xor.

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

◆ 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 74 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 87 of file VectorBuilder.h.

References llvm::ElementCount::getFixed().


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