summaryrefslogtreecommitdiff
path: root/include/llvm/Support/IRBuilder.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-07-22 18:25:25 +0000
committerDan Gohman <gohman@apple.com>2008-07-22 18:25:25 +0000
commit4e00987f09474f4e1a3bf850ec5d7a9020bf1aef (patch)
tree898b6fff33da07bb0bb5283ac565409119fe1a56 /include/llvm/Support/IRBuilder.h
parentacaf09dbe4a6781163857db1321bbd5795e7d410 (diff)
downloadllvm-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.h36
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);
+ }
};
}