[opaque pointer type] Provide a convenience for IRBuilder::CreateCall that accepts a Function without needing to take an explicit callee Type

The common case is a direct call, so don't make all those users have to
explicitly pass the result of llvm::Function::getFunctionType.

llvm-svn: 237627
This commit is contained in:
David Blaikie 2015-05-18 22:25:14 +00:00
parent 43f9bb7371
commit 09808a991c
1 changed files with 7 additions and 0 deletions

View File

@ -21,6 +21,7 @@
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/ConstantFolder.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/LLVMContext.h"
@ -1466,6 +1467,12 @@ public:
return Insert(CallInst::Create(Callee, Args), Name);
}
CallInst *CreateCall(Function *Callee, ArrayRef<Value *> Args,
const Twine &Name = "") {
return Insert(CallInst::Create(Callee->getFunctionType(), Callee, Args),
Name);
}
Value *CreateSelect(Value *C, Value *True, Value *False,
const Twine &Name = "") {
if (Constant *CC = dyn_cast<Constant>(C))