[LLVMdev] Questions bout the Steensguard AA Pass in rDSA

Daniel Guo realdaniel2013 at gmail.com
Sun Jun 15 20:20:43 PDT 2014


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>


More information about the llvm-dev mailing list