Add CallSite::hasArgument to allow for seeing if a call passes a certain value as an argument quickly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51946 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Matthijs Kooijman 2008-06-04 16:31:12 +00:00
parent 338169ddc9
commit 9515a8f88a
2 changed files with 11 additions and 0 deletions

View File

@ -129,6 +129,10 @@ public:
else
I->setOperand(ArgNo+3, newVal); // Skip Function, BB, BB
}
/// hasArgument - Returns true if this CallSite passes the given Value* as an
/// argument to the called function.
bool hasArgument(Value *Arg);
/// arg_iterator - The type of iterator to use when looping over actual
/// arguments at this call site...

View File

@ -91,6 +91,13 @@ void CallSite::setDoesNotThrow(bool doesNotThrow) {
cast<InvokeInst>(I)->setDoesNotThrow(doesNotThrow);
}
bool CallSite::hasArgument(Value *Arg) {
for (arg_iterator AI = this->arg_begin(), E = this->arg_end(); AI != E; ++AI)
if (AI->get() == Arg)
return true;
return false;
}
//===----------------------------------------------------------------------===//
// TerminatorInst Class
//===----------------------------------------------------------------------===//