diff options
Diffstat (limited to 'include/llvm/Support/LLVMBuilder.h')
-rw-r--r-- | include/llvm/Support/LLVMBuilder.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/include/llvm/Support/LLVMBuilder.h b/include/llvm/Support/LLVMBuilder.h index 5a80e41..bd450dc 100644 --- a/include/llvm/Support/LLVMBuilder.h +++ b/include/llvm/Support/LLVMBuilder.h @@ -380,22 +380,31 @@ public: } CallInst *CreateCall(Value *Callee, const char *Name = "") { - return Insert(new CallInst(Callee, (Value**)0, 0, Name)); + return Insert(new CallInst(Callee, Name)); } CallInst *CreateCall(Value *Callee, Value *Arg, const char *Name = "") { - return Insert(new CallInst(Callee, &Arg, 1, Name)); + return Insert(new CallInst(Callee, Arg, Name)); } - CallInst *CreateCall(Value *Callee, Value *Arg0, Value *Arg1, + + template<typename InputIterator> + CallInst *CreateCall(Value *Callee, InputIterator ArgBegin, InputIterator ArgEnd, const char *Name = "") { - Value *Args[] = { Arg0, Arg1 }; - return Insert(new CallInst(Callee, Args, 2, Name)); + return(Insert(new CallInst(Callee, ArgBegin, ArgEnd, Name))); } - +#if 0 + CallInst *CreateCall(Value *Callee, Value *Arg0, Value *Arg1, + const char *Name = "") { + Value *Args[] = { Arg0, Arg1 }; + return Insert(new CallInst(Callee, Args, Args+2, Name)); + } + + // Leave this here for llvm-gcc CallInst *CreateCall(Value *Callee, Value* const *Args, unsigned NumArgs, const char *Name = "") { - return Insert(new CallInst(Callee, Args, NumArgs, Name)); + return Insert(new CallInst(Callee, Args, Args+NumArgs, Name)); } +#endif SelectInst *CreateSelect(Value *C, Value *True, Value *False, const char *Name = "") { |