Hi Criswell, Thanks for the reply. I am looking for a pass for the intra-procedural alias analyzing, as i am working on multithreaded debugging and looking for a way to pick up instructions from different threads accessing the same global variable, and is Steensguard workable for this scenario? or any other suggestions? I also find that the "rDSA" folder is not included in the Makefile, and this means the -dsa-aa pass is still not reliable and probably i cannot use it, right? Thanks, Dan. On Sun, Jun 15, 2014 at 12:54 PM, John Criswell <criswell at illinois.edu> wrote:> On 6/13/14, 8:57 PM, Daniel Guo wrote: > > Deal all, > Recently i am searching for a intra-procedure alias analysis pass and the > -ds-aa pass seems to be the one i am looking for. > > > Intra-procedural or inter-procedural? > > > However, i find this post described that the rDSA code in PoorAlloc > project was abandoned before ... > https://groups.google.com/d/topic/llvm-dev/FMLmIh9Nz84/discussion > But some other guys were interested in it and John Criswell also made a > request in bug database on this topic. > Now after 3 years, what's the status of this issue? Are there still any > problems in the pass if i compile and run it? > > > I do not believe that the status has changed. I believe the -dsa-aa pass > in DSA is still removed and has not been resurrected (at least not with a > patch that applied cleanly to the release_32 branch). > > If someone wants to resurrect -dsa-aa with a patch that cleanly applies to > the release_32 branch or the trunk branch, I'll review it and apply it. > > Regards, > > John Criswell > > > > Thanks, > > Daniel. > > > _______________________________________________ > LLVM Developers mailing listLLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140615/9d8cf735/attachment.html>
John Criswell
2014-Jun-15 18:45 UTC
[LLVMdev] Questions bout the Steensguard AA Pass in rDSA
On 6/15/14, 12:10 PM, Daniel Guo wrote:> Hi Criswell, > Thanks for the reply. > I am looking for a pass for the intra-procedural alias analyzing, as i > am working on multithreaded debugging and looking for a way to pick up > instructions from different threads accessing the same global > variable, and is Steensguard workable for this scenario? or any other > suggestions?The local DSA pass provides a shape graph of each function, and it uses the Incomplete and External flags to mark for which nodes in the shape graph it does not have complete information. I think you could use the Local DSA pass directly to determine which instructions are accessing global variables.> > I also find that the "rDSA" folder is not included in the Makefile, > and this means the -dsa-aa pass is still not reliable and probably i > cannot use it, right?The rDSA directory contained an altered version of the DSA implementation. We eventually abandoned it and removed it. The code you found in rDSA either is or was at some point part of DSA. Regards, John Criswell> > Thanks, > > Dan. > > > On Sun, Jun 15, 2014 at 12:54 PM, John Criswell <criswell at illinois.edu > <mailto:criswell at illinois.edu>> wrote: > > On 6/13/14, 8:57 PM, Daniel Guo wrote: >> Deal all, >> Recently i am searching for a intra-procedure alias analysis pass >> and the -ds-aa pass seems to be the one i am looking for. > > Intra-procedural or inter-procedural? > > >> However, i find this post described that the rDSA code in >> PoorAlloc project was abandoned before ... >> https://groups.google.com/d/topic/llvm-dev/FMLmIh9Nz84/discussion >> But some other guys were interested in it and John Criswell also >> made a request in bug database on this topic. >> Now after 3 years, what's the status of this issue? Are there >> still any problems in the pass if i compile and run it? > > I do not believe that the status has changed. I believe the > -dsa-aa pass in DSA is still removed and has not been resurrected > (at least not with a patch that applied cleanly to the release_32 > branch). > > If someone wants to resurrect -dsa-aa with a patch that cleanly > applies to the release_32 branch or the trunk branch, I'll review > it and apply it. > > Regards, > > John Criswell > > >> >> Thanks, >> >> Daniel. >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140615/4bf30a31/attachment.html>
@John: Since rDSA hasn't been used in ages, perhaps it's time we deleted it from the repository? It'll live on in SVN glory forever for interested parties, and will avoid some of the confusion about its purpose. Additionally, we probably shouldn't have entire directories of dead code in mainline O:). Given these reasons: mind if I remove it from trunk? ~Will On Sun, Jun 15, 2014 at 1:45 PM, John Criswell <criswell at illinois.edu> wrote:> On 6/15/14, 12:10 PM, Daniel Guo wrote: > > Hi Criswell, > Thanks for the reply. > I am looking for a pass for the intra-procedural alias analyzing, as i am > working on multithreaded debugging and looking for a way to pick up > instructions from different threads accessing the same global variable, and > is Steensguard workable for this scenario? or any other suggestions? > > > The local DSA pass provides a shape graph of each function, and it uses the > Incomplete and External flags to mark for which nodes in the shape graph it > does not have complete information. I think you could use the Local DSA > pass directly to determine which instructions are accessing global > variables. > > > > I also find that the "rDSA" folder is not included in the Makefile, and this > means the -dsa-aa pass is still not reliable and probably i cannot use it, > right? > > > The rDSA directory contained an altered version of the DSA implementation. > We eventually abandoned it and removed it. The code you found in rDSA > either is or was at some point part of DSA. > > Regards, > > John Criswell > > > > Thanks, > > Dan. > > > On Sun, Jun 15, 2014 at 12:54 PM, John Criswell <criswell at illinois.edu> > wrote: >> >> On 6/13/14, 8:57 PM, Daniel Guo wrote: >> >> Deal all, >> Recently i am searching for a intra-procedure alias analysis pass and the >> -ds-aa pass seems to be the one i am looking for. >> >> >> Intra-procedural or inter-procedural? >> >> >> However, i find this post described that the rDSA code in PoorAlloc >> project was abandoned before ... >> https://groups.google.com/d/topic/llvm-dev/FMLmIh9Nz84/discussion >> But some other guys were interested in it and John Criswell also made a >> request in bug database on this topic. >> Now after 3 years, what's the status of this issue? Are there still any >> problems in the pass if i compile and run it? >> >> >> I do not believe that the status has changed. I believe the -dsa-aa pass >> in DSA is still removed and has not been resurrected (at least not with a >> patch that applied cleanly to the release_32 branch). >> >> If someone wants to resurrect -dsa-aa with a patch that cleanly applies to >> the release_32 branch or the trunk branch, I'll review it and apply it. >> >> Regards, >> >> John Criswell >> >> >> >> Thanks, >> >> Daniel. >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Hi John, Many thanks for the suggestion. I read the user manual and the source code of the Local DSA pass, and it seems that the output of the Local pass is a set of graphs for some further analysis. And my requirements are: 1. I need a alias analysis pass that implements the universal AA->alias(Pointer, size, Inst, ...), here the "Inst" is obtained from previous process and the alias function is detecting if "Pointer" and "Inst" are aliasing. 2. The "Inst" here is an Instruction* accessing a global variable. 3. Right now the "Pointer" is from the iteration on the Instructions of each function. So my questions are: 1. How can i take use of the graphs as they contain the "pointing-to" relationship among different objects? 2. Which api or data structures in DSA can be used to get the useful information? Thanks very much John and have a good night~! Dan. On Sun, Jun 15, 2014 at 2:45 PM, John Criswell <criswell at illinois.edu> wrote:> On 6/15/14, 12:10 PM, Daniel Guo wrote: > > Hi Criswell, > Thanks for the reply. > I am looking for a pass for the intra-procedural alias analyzing, as i am > working on multithreaded debugging and looking for a way to pick up > instructions from different threads accessing the same global variable, and > is Steensguard workable for this scenario? or any other suggestions? > > > The local DSA pass provides a shape graph of each function, and it uses > the Incomplete and External flags to mark for which nodes in the shape > graph it does not have complete information. I think you could use the > Local DSA pass directly to determine which instructions are accessing > global variables. > > > > I also find that the "rDSA" folder is not included in the Makefile, and > this means the -dsa-aa pass is still not reliable and probably i cannot use > it, right? > > > The rDSA directory contained an altered version of the DSA > implementation. We eventually abandoned it and removed it. The code you > found in rDSA either is or was at some point part of DSA. > > Regards, > > John Criswell > > > > Thanks, > > Dan. > > > On Sun, Jun 15, 2014 at 12:54 PM, John Criswell <criswell at illinois.edu> > wrote: > >> On 6/13/14, 8:57 PM, Daniel Guo wrote: >> >> Deal all, >> Recently i am searching for a intra-procedure alias analysis pass and the >> -ds-aa pass seems to be the one i am looking for. >> >> >> Intra-procedural or inter-procedural? >> >> >> However, i find this post described that the rDSA code in PoorAlloc >> project was abandoned before ... >> https://groups.google.com/d/topic/llvm-dev/FMLmIh9Nz84/discussion >> But some other guys were interested in it and John Criswell also made a >> request in bug database on this topic. >> Now after 3 years, what's the status of this issue? Are there still any >> problems in the pass if i compile and run it? >> >> >> I do not believe that the status has changed. I believe the -dsa-aa >> pass in DSA is still removed and has not been resurrected (at least not >> with a patch that applied cleanly to the release_32 branch). >> >> If someone wants to resurrect -dsa-aa with a patch that cleanly applies >> to the release_32 branch or the trunk branch, I'll review it and apply it. >> >> Regards, >> >> John Criswell >> >> >> >> Thanks, >> >> Daniel. >> >> >> _______________________________________________ >> LLVM Developers mailing listLLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> >> > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140615/b556a285/attachment.html>