diff options
author | Dan Gohman <gohman@apple.com> | 2008-07-22 18:25:25 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-07-22 18:25:25 +0000 |
commit | 4e00987f09474f4e1a3bf850ec5d7a9020bf1aef (patch) | |
tree | 898b6fff33da07bb0bb5283ac565409119fe1a56 /include/llvm/Support/IRBuilder.h | |
parent | acaf09dbe4a6781163857db1321bbd5795e7d410 (diff) | |
download | llvm-4e00987f09474f4e1a3bf850ec5d7a9020bf1aef.tar.gz llvm-4e00987f09474f4e1a3bf850ec5d7a9020bf1aef.tar.bz2 llvm-4e00987f09474f4e1a3bf850ec5d7a9020bf1aef.tar.xz |
IRBuilder support for insertvalue and extractvalue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53926 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support/IRBuilder.h')
-rw-r--r-- | include/llvm/Support/IRBuilder.h | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/include/llvm/Support/IRBuilder.h b/include/llvm/Support/IRBuilder.h index b96c412ee1..d69a35edb1 100644 --- a/include/llvm/Support/IRBuilder.h +++ b/include/llvm/Support/IRBuilder.h @@ -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); + } }; } |