IRBuilder support for insertvalue and extractvalue.
llvm-svn: 53926
This commit is contained in:
parent
78f6b35cde
commit
bc17b19fb3
|
@ -105,11 +105,6 @@ public:
|
||||||
return Insert(ReturnInst::Create(retVals, N));
|
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.
|
/// CreateBr - Create an unconditional 'br label X' instruction.
|
||||||
BranchInst *CreateBr(BasicBlock *Dest) {
|
BranchInst *CreateBr(BasicBlock *Dest) {
|
||||||
return Insert(BranchInst::Create(Dest));
|
return Insert(BranchInst::Create(Dest));
|
||||||
|
@ -572,6 +567,37 @@ public:
|
||||||
return ConstantExpr::getShuffleVector(V1C, V2C, MC);
|
return ConstantExpr::getShuffleVector(V1C, V2C, MC);
|
||||||
return Insert(new ShuffleVectorInst(V1, V2, Mask), Name);
|
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