[LLVMdev] correct types for ArgumentList?
ret val
retval386 at gmail.com
Sat Sep 3 17:07:17 PDT 2011
I'm trying to create and insert a anonymous function that will make a
assignment on a GlobalVariable, based on a existing StoreInst. Once I
find this StoreInst(which provides me with 2 Value* objects for me to
use) I need to pass it to my anonymous function so it can carry out
the assignment. I can not get the correct types, at runtime I get a
bad signature error.
So basically the function is setup to take arguments like this:
vector<Type *> v_params;
v_params.push_back(ptrType); /* Shadow */
v_params.push_back(ptrType); /* New Value */
v_params.push_back(ptrType); /* Pointer */
ArrayRef<Type *> a_params(v_params);
Where the assignment will look something like this:
Value *val = newFunc->arg_begin();
Value *ptr = ++(newFunc->arg_begin());
new StoreInst(val, ptr, block);
But the only way I know to call is it is like this:
vector<Value *> v_args;
v_args.push_back(shadow);
v_args.push_back(store->getValueOperand());
v_args.push_back(store->getPointerOperand());
ArrayRef<Value *> a_args(v_args);
What is the correct way todo something like this? The full code for
this simple pass is here: http://tinypaste.com/4df56
Thank you
More information about the llvm-dev
mailing list