<p dir="ltr">Hi Arun,</p>
<p dir="ltr">You can do it by iterating over arguments to function call and dyn_cast<GlobalVariable> each of them to check if it is a global variable. </p>
<p dir="ltr">Regards,<br>
Suyog</p>
<div class="gmail_quote">On 12 Jun 2016 15:03, "ARUN TEWATIA via llvm-dev" <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(36,39,41);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;line-height:19.5px">I am trying to write a custom analysis pass. Below is a llvm-ir snippet from my module.</p><pre style="margin-top:0px;margin-bottom:1em;padding:5px;border:0px;font-size:13px;width:auto;max-height:600px;overflow:auto;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif;word-wrap:normal;color:rgb(36,39,41);background-color:rgb(239,240,241)"><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif;white-space:inherit">1 @my_string = common global i8* null, align 8
2 %tmp1 = load i8*, i8** @my_string, align 8
3 call void @copy_string(i8* %tmp1, i8* %tmp2, i8* %tmp3)
</code></pre><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(36,39,41);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;line-height:19.5px">I wish to make a check, if one of the function parameters passed is a global variable or not? For instance in above example code, I wish to check if <code style="margin:0px;padding:1px 5px;border:0px;font-size:13px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif;white-space:pre-wrap;background-color:rgb(239,240,241)">%tmp1</code> is a global variable or not?</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(36,39,41);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;line-height:19.5px">Could you suggest the best way to achieve this?</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(36,39,41);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;line-height:19.5px">Thanks in advance.</p><font color="#888888"><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(36,39,41);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;line-height:19.5px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;line-height:normal">-- </span></p><div data-smartmail="gmail_signature"><div dir="ltr"><b>Arun Tewatia</b><br></div></div>
</font></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div>