24 Builder.CreateInsertElement(LLVMPoison, PackOps[0]->
Val, LLVMC,
"TEST");
27 return Ctx.createPackInst({NewInsert});
43 "Expected inserts or extracts!");
44 auto NewPtr = std::unique_ptr<PackInst>(
new PackInst(PackInstrs, *
this));
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
Represent a constant reference to an array (0 or more elements consecutively in memory),...
static LLVM_ABI FixedVectorType * get(Type *ElementType, unsigned NumElts)
static LLVM_ABI PoisonValue * get(Type *T)
Static factory methods - Return an 'poison' object of the specified type.
LLVM Value Representation.
static LLVM_ABI Constant * get(Type *Ty, uint64_t V, bool IsSigned=false)
If Ty is a vector type, return a Constant with a splat of the given value.
LLVM_ABI Value * registerValue(std::unique_ptr< Value > &&VPtr)
Take ownership of VPtr and store it in LLVMValueToValueMap.
static IRBuilder & setInsertPos(InsertPosition Pos)
Helper function for create().
static bool classof(const Value *From)
For isa/dyn_cast.
static Value * create(ArrayRef< Value * > PackOps, InsertPosition InsertBefore, SBVecContext &Ctx)
friend class SBVecContext
static LLVM_ABI IntegerType * getInt32Ty(Context &Ctx)
A SandboxIR Value has users. This is the base class.
llvm::Value * Val
The LLVM Value that corresponds to this SandboxIR Value.
ClassID getSubclassID() const
Context & Ctx
All values point to the context.
@ C
The default llvm calling convention, compatible with C.
bool all_of(R &&range, UnaryPredicate P)
Provide wrappers to std::all_of which take ranges instead of having to pass begin/end explicitly.
decltype(auto) dyn_cast(const From &Val)
dyn_cast<X> - Return the argument parameter cast to the specified type.
bool isa(const From &Val)
isa<X> - Return true if the parameter to the template is an instance of one of the template type argu...
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.