15#ifndef LLVM_IR_VECTORBUILDER_H
16#define LLVM_IR_VECTORBUILDER_H
45 Value *ExplicitVectorLength;
53 void handleError(
const char *ErrorMsg)
const;
54 template <
typename RetType>
55 RetType returnWithError(
const char *ErrorMsg)
const {
56 handleError(ErrorMsg);
64 ExplicitVectorLength(nullptr),
78 ExplicitVectorLength = NewExplicitVectorLength;
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
static constexpr ElementCount getFixed(ScalarTy MinVal)
Common base class shared among various IRBuilders.
This is an important class for using LLVM in a threaded context.
A Module instance is used to store all the information related to an LLVM module.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
LLVMContext & getContext() const
VectorBuilder(IRBuilderBase &Builder, Behavior ErrorHandling=Behavior::ReportAndAbort)
VectorBuilder & setStaticVL(unsigned NewFixedVL)
VectorBuilder & setEVL(Value *NewExplicitVectorLength)
Module & getModule() const
VectorBuilder & setMask(Value *NewMask)
Value * createVectorInstruction(unsigned Opcode, Type *ReturnTy, ArrayRef< Value * > VecOpArray, const Twine &Name=Twine())
This is an optimization pass for GlobalISel generic memory operations.