LLVM 19.0.0git
|
#include "llvm/IR/VectorBuilder.h"
Public Types | |
enum class | Behavior { ReportAndAbort = 0 , SilentlyReturnNone = 1 } |
Public Member Functions | |
VectorBuilder (IRBuilderBase &Builder, Behavior ErrorHandling=Behavior::ReportAndAbort) | |
Module & | getModule () const |
LLVMContext & | getContext () const |
Value * | getAllTrueMask () |
VectorBuilder & | setMask (Value *NewMask) |
VectorBuilder & | setEVL (Value *NewExplicitVectorLength) |
VectorBuilder & | setStaticVL (unsigned NewFixedVL) |
Value * | createVectorInstruction (unsigned Opcode, Type *ReturnTy, ArrayRef< Value * > VecOpArray, const Twine &Name=Twine()) |
Value * | createSimpleTargetReduction (RecurKind Kind, Type *ValTy, ArrayRef< Value * > VecOpArray, const Twine &Name=Twine()) |
Emit a VP reduction intrinsic call for recurrence kind. | |
Definition at line 26 of file VectorBuilder.h.
|
strong |
Enumerator | |
---|---|
ReportAndAbort | |
SilentlyReturnNone |
Definition at line 28 of file VectorBuilder.h.
|
inline |
Definition at line 67 of file VectorBuilder.h.
Value * llvm::VectorBuilder::createSimpleTargetReduction | ( | RecurKind | Kind, |
Type * | ValTy, | ||
ArrayRef< Value * > | VecOpArray, | ||
const Twine & | Name = Twine() |
||
) |
Emit a VP reduction intrinsic call for recurrence kind.
Kind | The kind of recurrence |
ValTy | The type of operand which the reduction operation is performed. |
VecOpArray | The 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().
Value * llvm::VectorBuilder::createVectorInstruction | ( | unsigned | Opcode, |
Type * | ReturnTy, | ||
ArrayRef< Value * > | VecOpArray, | ||
const Twine & | Name = Twine() |
||
) |
Definition at line 54 of file VectorBuilder.cpp.
References llvm::VPIntrinsic::getForOpcode(), Name, and llvm::Intrinsic::not_intrinsic.
Referenced by llvm::VPWidenLoadEVLRecipe::execute(), and llvm::VPWidenStoreEVLRecipe::execute().
Value * llvm::VectorBuilder::getAllTrueMask | ( | ) |
Definition at line 34 of file VectorBuilder.cpp.
References llvm::IRBuilderBase::getAllOnesMask().
|
inline |
Definition at line 74 of file VectorBuilder.h.
References llvm::IRBuilderBase::getContext().
Module & llvm::VectorBuilder::getModule | ( | ) | const |
Definition at line 30 of file VectorBuilder.cpp.
References llvm::IRBuilderBase::GetInsertBlock(), and llvm::BasicBlock::getModule().
|
inline |
Definition at line 83 of file VectorBuilder.h.
Referenced by llvm::VPReductionEVLRecipe::execute(), llvm::VPWidenLoadEVLRecipe::execute(), and llvm::VPWidenStoreEVLRecipe::execute().
|
inline |
Definition at line 79 of file VectorBuilder.h.
Referenced by llvm::VPReductionEVLRecipe::execute(), llvm::VPWidenLoadEVLRecipe::execute(), and llvm::VPWidenStoreEVLRecipe::execute().
|
inline |
Definition at line 87 of file VectorBuilder.h.
References llvm::ElementCount::getFixed().