<div dir="ltr">Hi mobi,<div><br></div><div>Sorry, I am new to clang AST and can not get the point you mentioned. :-(</div><div>What I try to do is develop a tool that can analyze data dependence at runtime. Therefore, I need to analyze trace containing memory accessing information (eg. arrays within loops). To do that, I first instrument a recording function to get addresses of load/store instructions. However, there are 'uninteresting' ld/st instructions, such as load/store instructions for iteration/index variables, i, j or k. And these 'uninteresting' ld/st instructions will affect my dependence analysis results.</div><div><br></div><div>If clang AST could solve this problem, could you provide more information?</div><div><br></div><div>Thanks,</div><div>Henry</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 11, 2014 at 2:56 PM, mobi phil <span dir="ltr"><<a href="mailto:mobi@mobiphil.com" target="_blank">mobi@mobiphil.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>However, as we can see in the llvm-IR, apart from load/store instructions for array accesses we interested, there are lots of load/store instructions for iteration variables, i and j for the above example. And these noise load/store instructions will affect whether we have dependencies across loop iterations (loop-carried dependence) and dependence distance calculation</div></div></blockquote><div><br></div></span><div>without being a guru, also in learning process and having been analyzing a similar situation to "hack" some pointer operations, I came to the conclusion that the clang AST is the guy. In my case I would have had to manipulate the AST, but in your case it seems that you only need to analyse the AST. </div><div>And the above statement is made without knowing the content of the work in [1]<br><br></div></div>
</div></div>
</blockquote></div><br></div><br clear="all"><div><br></div></div>