<div dir="ltr">Hi All,<div><br></div><div>I am using code similar to <a href="https://github.com/liuml07/giri">giri instrumentation</a> framework to insert my instrumentation code. It works for normal functions for example to insert recordInt32 function below. </div>

<div><br></div><div><div>void recordInt32(int32_t val){</div><div><span class="" style="white-space:pre">   </span>printf("%d, ", val);</div><div>}</div></div><div><br></div><div>I can get recodedInt32 function in my Module using  getOrInsert Function. </div>

<div><br></div><div><div>Function* RecordInt32 = cast<Function>(M.getOrInsertFunction("recordInt32",</div><div>                                              VoidType,</div><div>                                              Int32Type,</div>

<div>                                              NULL));</div></div><div><br></div><div>and insert at desired instPoint using:</div><div><br></div><div>CallInst::Create(RecordInt32, args, "", instPoint);<br></div>

<div><br></div><div>What should be the similar instructions for recoedVarInsputValues below:</div><div><br></div><div>void recordVarInputValues(int num, ...){ CODE }<br></div><div><br></div><div>I am not able to figure out what will be the argument to getOrInsertFunction for "...".</div>

<div><br></div><div>Thanks!</div><div>Manish</div></div>