Displaying 7 results from an estimated 7 matches for "int32_16_params".
2011 Apr 26
2
[LLVMdev] inserting a fucntion call at the end of basic bloc
...on is
void consume(int nb_into_bloc, int *nb_total)
the second is a pointer
here is how I pass the parameters
Instruction* ii = i->getTerminator();
const int n = cast <int> (i->size());
ConstantInt* inValue = ConstantInt::get(Type::getInt32Ty(Context), n);
std::vector<Value*> int32_16_params;
int32_16_params.push_back(inValue);
int32_16_params.push_back(gvar_int32_y);
CallInst* int32_16 = CallInst::Create(func_consume,
int32_16_params.begin(), int32_16_params.end(), "", ii);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.l...
2011 Apr 26
0
[LLVMdev] inserting a fucntion call at the end of basic bloc
...oc, int *nb_total)
> the second is a pointer
> here is how I pass the parameters
> Instruction* ii = i->getTerminator();
> const int n = cast <int> (i->size());
> ConstantInt* inValue = ConstantInt::get(Type::getInt32Ty(Context), n);
> std::vector<Value*> int32_16_params;
> int32_16_params.push_back(inValue);
> int32_16_params.push_back(gvar_int32_y);
> CallInst* int32_16 = CallInst::Create(func_consume, int32_16_params.begin(),
> int32_16_params.end(), "", ii);
where did the "noalias" attribute and "tail call" (rath...
2011 Apr 26
2
[LLVMdev] inserting a fucntion call at the end of basic bloc
I have defined the fucntion in another object file and linked it to the
in fact the fucntion is :
void consume(int , int * );
std::vector<Value*> int32_16_params;
int32_16_params.push_back(inValue);//inValue is ConstantInt* inValue
int32_16_params.push_back(gvar_int32_y);
CallInst* int32_16 = CallInst::Create(func_consume, int32_16_params.begin(),
int32_16_params.end(), "", ii);
compilation without errors
Now when i tried this pass an error says:...
2011 Apr 26
0
[LLVMdev] inserting a fucntion call at the end of basic bloc
Hi Nabila,
> Now when i tried this pass an error says:
> Wrong type for attribute noalias
> tail call void @consume(i32 noalias 3, i32* @y) nounwind
noalias is only for arguments of pointer type. You probably meant it to
be on the second argument rather than the first. I suggest you correct
your code that adds the attribute.
Ciao, Duncan.
2011 Apr 25
0
[LLVMdev] inserting a fucntion call at the end of basic bloc
Hi Nabila,
> My problem is how to call a method
> suppose this fucntion
> void A(int x)
> {
> x=x+1;
>
> }
>
> should i define this function and declare it at the beginig of the module and
> create for it a basic bloc?
you can just declare the function (i.e. no need to give it a body), and call it.
You can then link with an object file that defines it. This is
2011 Apr 25
2
[LLVMdev] inserting a fucntion call at the end of basic bloc
2011/4/25 Duncan Sands <baldrick at free.fr>
> Hi Nabila,
>
> > i would like insert a fucntion call at the end of each basic bloc
>
> you can't, because only terminators are allowed at the end of a basic
> block.
> However you can try to insert the call before the terminator.
>
Yes, i mean before the termininator,
My problem is how to call a method
suppose
2011 Apr 26
2
[LLVMdev] inserting a fucntion call at the end of basic bloc
...gt;> the second is a pointer
>> here is how I pass the parameters
>> Instruction* ii = i->getTerminator();
>> const int n = cast <int> (i->size());
>> ConstantInt* inValue = ConstantInt::get(Type::getInt32Ty(Context), n);
>> std::vector<Value*> int32_16_params;
>> int32_16_params.push_back(inValue);
>> int32_16_params.push_back(gvar_int32_y);
>> CallInst* int32_16 = CallInst::Create(func_consume,
>> int32_16_params.begin(),
>> int32_16_params.end(), "", ii);
>>
>
> where did the "noalias" a...