[LLVMdev] inserting a fucntion call at the end of basic bloc

Nabila ABDESSAIED nabila.abdessaied at gmail.com
Tue Apr 26 05:04:25 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);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110426/401ffb3b/attachment.html>


More information about the llvm-dev mailing list