[LLVMdev] inserting a fucntion call at the end of basic bloc
Nabila ABDESSAIED
nabila.abdessaied at gmail.com
Tue Apr 26 05:13:49 PDT 2011
2011/4/26 Duncan Sands <baldrick at free.fr>
> 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.
>>
>>
>> no my fucntion 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);
>>
>
> where did the "noalias" attribute and "tail call" (rather than "call") come
> from? Are you setting these yourself or running some optimization pass
> after
> your pass?
>
i have written a module pass and i have compiled it and then
opt -load /home/inspiron/PhdWork/llvm-2.8/Release/lib/Example.so -Example2
< hello.bc > /dev/null
i get the error message
Wrong type for attribute noalias
tail call void @consume(i32 noalias 3, i32* @y) nounwind
Broken module found, compilation aborted!
0 libLLVM-2.8.so.1 0x019bc628
Stack dump:
0. Program arguments: opt -load
/home/inspiron/PhdWork/llvm-2.8/Release/lib/Example.so -Example2
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'Module Verifier' on function '@main'
Aborted
> Ciao, Duncan.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110426/75547212/attachment.html>
More information about the llvm-dev
mailing list