[LLVMdev] Help with creating and replacing instructions in LLVM

Shivam Bhagi shivam.bhagi at outlook.com
Mon Dec 2 20:30:30 PST 2013


Hi,

I have the following instruction in my IR-
%call2 = call i8* @strcpy(i8* %1, i8* %2) #2

I intend to change call to strcpy with strncpy. I have included the following code in runOnFunction, so that when it is strcpy's turn to be invoked, strncpy is invoked instead.

Assuming I* is the strcpy instruction,

CallInst* x=new CallInst::CreateCall3(strncpy,1,2,ConstantInt(16),llvm::Twine("my_strncpy"));
ReplaceInstWithInst(I*,x);

I'm running into a whole bunch of errors in CreateCall3(). How can I go about writing this correctly?

Any help would be appreciated.

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131202/d610c8d0/attachment.html>


More information about the llvm-dev mailing list