<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Thanks a lot! As far as I understood AliasSetTrack is a list of AliasSets each of which is a list of pointers, is it right? <br>Is AliasSet the set of pointers that may/must alias eachother? if so, why are some of the AliasSets empty? <br><br>Thanks a lot,<br>::Saman<br><br><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Eli Friedman <eli.friedman@gmail.com><br><b><span style="font-weight: bold;">To:</span></b> LLVM Developers Mailing List <llvmdev@cs.uiuc.edu><br><b><span style="font-weight: bold;">Sent:</span></b> Tuesday, July 14, 2009 1:03:24 AM<br><b><span
 style="font-weight: bold;">Subject:</span></b> Re: [LLVMdev] Aliasing on bitcode.<br></font><br>On Mon, Jul 13, 2009 at 3:28 PM, saman aliari<<a ymailto="mailto:samy_442@yahoo.com" href="mailto:samy_442@yahoo.com">samy_442@yahoo.com</a>> wrote:<br>> I am working on a LLVM bitcode based project in which we do static lockset<br>> analysis. I need to get Aliasing information statically given the .bc file<br>> of the application. Is there any library in LLVM which already implements<br>> the aliasing?<br><br>There's an alias analysis interface that comes standard with LLVM; see<br>include/llvm/Analysis/AliasAnalysis.h.  The standard alias analysis<br>pass isn't particularly powerful, though.<br><br>> (does it support multi-threaded apps?)<br><br>I'm not quite sure how alias analysis would be affected by whether an<br>app is multi-threaded...<br><br>> What is the best way of<br>> doing it (I want to extract aliasing
 information in runOnModule() function<br>> in the pass I am working on)?<br><br>See <a href="http://llvm.org/docs/WritingAnLLVMPass.html#interaction" target="_blank">http://llvm.org/docs/WritingAnLLVMPass.html#interaction</a> .<br>Something like "AU.addRequired<AliasAnalysis>()" in the<br>getAnalysisUsage method of your pass plus a call to<br>"getAnalysis<AliasAnalysis>()" in runOnModule will do the trick.<br><br>-Eli<br>_______________________________________________<br>LLVM Developers mailing list<br><a ymailto="mailto:LLVMdev@cs.uiuc.edu" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></div></div></div><br>



      </body></html>