<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: arial,helvetica,sans-serif; font-size: 10pt; color: #000000'>Hi Arun,<br><br>CFL-AA does support some limited amount of IPA, but only internally. It is not something you can access explicitly. When analyzing call instructions, internally, it makes use of information about the callee. In general, our AA interface does not support direct interprocedural queries. We've never even defined the semantics for what that would mean. What are you trying to do?<br><br> -Hal<br><br><hr id="zwchr"><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><b>From: </b>"ARUN TEWATIA via llvm-dev" <llvm-dev@lists.llvm.org><br><b>To: </b>llvm-dev@lists.llvm.org<br><b>Sent: </b>Friday, May 13, 2016 5:52:22 AM<br><b>Subject: </b>[llvm-dev] LLVM CFLAliasAnalysis Inter-Procedural Queries not        working<br><br><div dir="ltr">Hello,<div><br></div><div>I am trying to implement inter-procedural alias analysis using CFLAliasAnalysis pass. I am using llvm-3.8.0 version.<br><div><div>I tried to use query function of this pass. I passed memory locations of two store instructions of two different local variables from two different functions. These two locations will not alias. </div><div><br></div><div>But unfortunately, I get an assertion failed message:</div><div>"Interprocedural queries not supported."<br></div><div><br></div><div>I tried debugging this assertion failed message. It is generated from file CFLAliasAnalysis.cpp in query function.</div><div><br></div><div>assert((!MaybeFnB.hasValue() || *MaybeFnB == *MaybeFnA) &&<br></div><div><br></div><div><a href="http://llvm.org/docs/doxygen/html/CFLAliasAnalysis_8cpp_source.html" target="_blank">http://llvm.org/docs/doxygen/html/CFLAliasAnalysis_8cpp_source.html<br></a></div><div><br></div><div>In my understanding, CFLAA should allows inter-procedural alias analysis. However, this assertion seems to be contradicting and stops it from executing inter-procedural alias analysis. What am I missing ? Could you please guide me as to how I can use it for inter-procedural alias analysis ?</div><div><br></div><div>Thanks in advance !!<br></div>-- <br><div class="gmail_signature"><div dir="ltr"><b>Arun Tewatia</b><br></div></div>
</div></div></div>
<br>_______________________________________________<br>LLVM Developers mailing list<br>llvm-dev@lists.llvm.org<br>http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br></blockquote><br><br><br>-- <br><div><span name="x"></span>Hal Finkel<br>Assistant Computational Scientist<br>Leadership Computing Facility<br>Argonne National Laboratory<span name="x"></span><br></div></div></body></html>