<div><font>Hi,</font><br></div><div><font>I have the following piece of code:<br></font></div><div><font> %34 = fptosi float %33 to i32<br>  %35 = call i32 @function(i32 %34) nounwind</font></div><div><font><br></font></div>
<div><font>I would like of know how  can I duplicate the statement %35 ? , as follows:<br></font></div><div><font> %34 = fptosi float %33 to i32<br>  %35 = call i32 @function(i32 %34) nounwind</font></div><div><font color="#ff0000"><font><strong>%36 = </strong></font><font><strong>call i32 @function(i32 %34) nounwind</strong></font></font></div>
<div><font><strong><br></strong></font></div><div><font>i.e, two instructions exactly equal.<br></font></div><div><font><br></font></div><div><font>Using clone, results in badref.<br></font></div><div><font>Moreover, how can I get the parameters of function?<br>
</font></div><div><font><br></font></div><div><font>This is my experimental code that not is running wich I need:<br></font></div><div><font>for (BasicBlock::iterator Is = i->begin(), e = i->end(); Is != e; ++Is){ <br>
                                                           if(isa<CallInst>(*Is)){<br>                                                                    CallInst *call = dyn_cast<CallInst>(&*Is);<br></font></div><div><font>        Function* ft = call->getCalledFunction();<br></font></div><div><font>       <font color="#ff0000"><strong>arguments = ????</strong></font><br>
</font></div><div><font>       CallInst *call2 = CallInst::Create(ft, <font color="#ff0000"><strong>arguments.begin(), arguments.end()</strong></font>, "", ++Is);<br></font></div><div><font>    }<br></font></div>
<div><font>}<br></font></div><div><font><br></font></div><div><font><br></font></div><div><font>Thanks,<br></font></div>-- <br><font><b><i>Rafael Parizi</i></b></font><br><br><br><br>