summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/Instructions.cpp
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2015-12-10 06:39:02 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2015-12-10 06:39:02 +0000
commitccd14566e2df8335e5c9bfc75ca6cf31673db6b0 (patch)
tree5f051a876e90cc72e2d0f67b3a40c40003448f09 /llvm/lib/IR/Instructions.cpp
parentd5af8ae17fae996749658e9be46e8122798760e8 (diff)
downloadbcm5719-llvm-ccd14566e2df8335e5c9bfc75ca6cf31673db6b0.tar.gz
bcm5719-llvm-ccd14566e2df8335e5c9bfc75ca6cf31673db6b0.zip
Add arg_begin() and arg_end() to CallInst and InvokeInst; NFCI
- This simplifies the CallSite class, arg_begin / arg_end are now simple wrapper getters. - In several places, we were creating CallSite instances solely to call arg_begin and arg_end. With this change, that's no longer required. llvm-svn: 255226
Diffstat (limited to 'llvm/lib/IR/Instructions.cpp')
-rw-r--r--llvm/lib/IR/Instructions.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/IR/Instructions.cpp b/llvm/lib/IR/Instructions.cpp
index 6ec2e289970..f185caacdf6 100644
--- a/llvm/lib/IR/Instructions.cpp
+++ b/llvm/lib/IR/Instructions.cpp
@@ -299,8 +299,7 @@ CallInst::CallInst(const CallInst &CI)
CallInst *CallInst::Create(CallInst *CI, ArrayRef<OperandBundleDef> OpB,
Instruction *InsertPt) {
- CallSite CS(CI);
- std::vector<Value *> Args(CS.arg_begin(), CS.arg_end());
+ std::vector<Value *> Args(CI->arg_begin(), CI->arg_end());
auto *NewCI = CallInst::Create(CI->getCalledValue(), Args, OpB, CI->getName(),
InsertPt);
@@ -587,8 +586,7 @@ InvokeInst::InvokeInst(const InvokeInst &II)
InvokeInst *InvokeInst::Create(InvokeInst *II, ArrayRef<OperandBundleDef> OpB,
Instruction *InsertPt) {
- CallSite CS(II);
- std::vector<Value *> Args(CS.arg_begin(), CS.arg_end());
+ std::vector<Value *> Args(II->arg_begin(), II->arg_end());
auto *NewII = InvokeInst::Create(II->getCalledValue(), II->getNormalDest(),
II->getUnwindDest(), Args, OpB,
OpenPOWER on IntegriCloud