LLVM 20.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 * | createSimpleReduction (Intrinsic::ID RdxID, Type *ValTy, ArrayRef< Value * > VecOpArray, const Twine &Name=Twine()) |
Emit a VP reduction intrinsic call for recurrence kind. | |
Definition at line 25 of file VectorBuilder.h.
|
strong |
Enumerator | |
---|---|
ReportAndAbort | |
SilentlyReturnNone |
Definition at line 27 of file VectorBuilder.h.
|
inline |
Definition at line 66 of file VectorBuilder.h.
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.
RdxID | The intrinsic ID of llvm.vector.reduce.* |
ValTy | The type of operand which the reduction operation is performed. |
VecOpArray | The 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().
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(), llvm::VPWidenStoreEVLRecipe::execute(), and llvm::VPWidenEVLRecipe::execute().
Value * llvm::VectorBuilder::getAllTrueMask | ( | ) |
Definition at line 34 of file VectorBuilder.cpp.
References llvm::IRBuilderBase::getAllOnesMask().
|
inline |
Definition at line 73 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 82 of file VectorBuilder.h.
Referenced by llvm::VPReductionEVLRecipe::execute(), llvm::VPWidenLoadEVLRecipe::execute(), llvm::VPWidenStoreEVLRecipe::execute(), and llvm::VPWidenEVLRecipe::execute().
|
inline |
Definition at line 78 of file VectorBuilder.h.
Referenced by llvm::VPReductionEVLRecipe::execute(), llvm::VPWidenLoadEVLRecipe::execute(), llvm::VPWidenStoreEVLRecipe::execute(), and llvm::VPWidenEVLRecipe::execute().
|
inline |
Definition at line 86 of file VectorBuilder.h.
References llvm::ElementCount::getFixed().