mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 03:23:01 +02:00
IRBuilder support for insertvalue and extractvalue.
llvm-svn: 53926
This commit is contained in:
parent
7c7d8f931d
commit
12c36eae69
@ -105,11 +105,6 @@ public:
|
||||
return Insert(ReturnInst::Create(retVals, N));
|
||||
}
|
||||
|
||||
GetResultInst *CreateGetResult(Value *V, unsigned Index,
|
||||
const char *Name = "") {
|
||||
return Insert(new GetResultInst(V, Index), Name);
|
||||
}
|
||||
|
||||
/// CreateBr - Create an unconditional 'br label X' instruction.
|
||||
BranchInst *CreateBr(BasicBlock *Dest) {
|
||||
return Insert(BranchInst::Create(Dest));
|
||||
@ -572,6 +567,37 @@ public:
|
||||
return ConstantExpr::getShuffleVector(V1C, V2C, MC);
|
||||
return Insert(new ShuffleVectorInst(V1, V2, Mask), Name);
|
||||
}
|
||||
|
||||
GetResultInst *CreateGetResult(Value *V, unsigned Index,
|
||||
const char *Name = "") {
|
||||
return Insert(new GetResultInst(V, Index), Name);
|
||||
}
|
||||
|
||||
ExtractValueInst *CreateExtractValue(Value *Agg, unsigned Idx,
|
||||
const char *Name = "") {
|
||||
return Insert(ExtractValueInst::Create(Agg, Idx), Name);
|
||||
}
|
||||
|
||||
template<typename InputIterator>
|
||||
ExtractValueInst *CreateExtractValue(Value *Agg,
|
||||
InputIterator IdxBegin,
|
||||
InputIterator IdxEnd,
|
||||
const char *Name = "") {
|
||||
return Insert(ExtractValueInst::Create(Agg, IdxBegin, IdxEnd), Name);
|
||||
}
|
||||
|
||||
InsertValueInst *CreateInsertValue(Value *Agg, Value *Val, unsigned Idx,
|
||||
const char *Name = "") {
|
||||
return Insert(InsertValueInst::Create(Agg, Val, Idx), Name);
|
||||
}
|
||||
|
||||
template<typename InputIterator>
|
||||
InsertValueInst *CreateInsertValue(Value *Agg, Value *Val,
|
||||
InputIterator IdxBegin,
|
||||
InputIterator IdxEnd,
|
||||
const char *Name = "") {
|
||||
return Insert(InsertValueInst::Create(Agg, Val, IdxBegin, IdxEnd), Name);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user