Hello all,<br><br>I have developed a instrumented pass which insert some variables between the original variables, <br>as well as insert some code into the original source code. just like:<br><br>============= original source code =============<br>
<br>int a[10];<br><br>void fun1 () {<br> // some source code here<br>}<br><br>=========================================<br><br>============= instrumented source code =============<br><br>int dummy1[20];<br>int a[10];<br>
int dummy2[30];<br><br>void fun1 () {<br> // instrumented source code 1<br> // some source code here<br> // instrumented source code 2<br>}<br><br>============= instrumented source code =============<br><br>Apparently, dummy1 and dummy2 may cause pressure of data cache, and instrumented source code 1<br>
and instrumented source code 2 may lead not only execution overhead but also extra instruction cache<br>pressure. Now I want to measure these separated overhead precisely. To measure the pressure of<br>instruction cache, I want to replace the instrumented source code as nop (with length equals the length of<br>
instrumented source code). Is there anyway to instrument nop explicitly in LLVM?<br><br>Thanks<br>