forked from OSchip/llvm-project
Add support for setting parameters to CallSite.
llvm-svn: 47249
This commit is contained in:
parent
c64dfb4317
commit
e41efc7a6d
|
@ -114,6 +114,15 @@ public:
|
|||
return *(arg_begin()+ArgNo);
|
||||
}
|
||||
|
||||
void setArgument(unsigned ArgNo, Value* newVal) {
|
||||
assert(I && "Not a call or invoke instruction!");
|
||||
assert(arg_begin() + ArgNo < arg_end() && "Argument # out of range!");
|
||||
if (I->getOpcode() == Instruction::Call)
|
||||
I->setOperand(ArgNo+1, newVal); // Skip Function
|
||||
else
|
||||
I->setOperand(ArgNo+3, newVal); // Skip Function, BB, BB
|
||||
}
|
||||
|
||||
/// arg_iterator - The type of iterator to use when looping over actual
|
||||
/// arguments at this call site...
|
||||
typedef User::op_iterator arg_iterator;
|
||||
|
|
Loading…
Reference in New Issue