[LLVMdev] use of CallInst()

Patrick Meredith pmeredit at uiuc.edu
Wed Mar 7 03:31:55 PST 2007


On Mar 6, 2007, at 11:30 PM, Ryan M. Lefever wrote:

> Thanks for the help Reid!  I frequently look at the online doxygen,  
> but

Something else that really helps when you are unsure as how to use a  
new method is to look at passes in lib, *especially* InstCombine.   
InstCombine is always up-to-date and uses a good amount of the API.

> sometimes its difficult to determine the correct replacement when a
> method is removed from LLVM.  In this particular case, I knew which  
> new
> CallInst constructor to use, I just couldn't figure out the proper  
> syntax.
>
> At any rate, I really appreciate your help!!
>
> Reid Spencer wrote:
>> On Tue, 2007-03-06 at 22:44 -0600, Ryan M. Lefever wrote:
>>> To create a new CallInst I used to call the following constructor:
>>>
>>> CallInst(Value *F, const std::vector<Value*> &Par, const std::string
>>> &Name = "", Instruction *InsertBefore = 0);
>>>
>>> However, it seems as though that constructor has been removed.  I  
>>> assume
>>> that I'm suppossed to use the following constructor, but I can't  
>>> figure
>>> out what to pass as the Args parameter (the second parameter).
>>>
>>> CallInst (Value *F, Value *const *Args, unsigned NumArgs, const
>>> std::string &Name="", Instruction *InsertBefore=0)
>>>
>>> Can someone help?
>>
>> Ryan, I suggest you familiarize yourself with
>> http://llvm.org/doxygen/classes.html and look there for help on  
>> the new
>> API. It is regenerated every night so it should be perpetually up to
>> date with CVS HEAD.
>>
>> Args needs to be an array of the arguments and NumArgs needs to be  
>> the
>> size of the array. If you have a std::vector then you can just:
>>
>> new CallInst(F, &ArgVec[0], ArgVec.size(), ...)
>>
>> Reid.
>>
>>> Thanks,
>>> Ryan
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> -- 
> Ryan M. Lefever  [http://www.ews.uiuc.edu/~lefever]
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



More information about the llvm-dev mailing list