[LLVMdev] DS-AA reports erroneous NoModRef

Andrew Lenharth andrewl at lenharth.org
Fri Oct 9 05:39:03 PDT 2009


On Fri, Oct 9, 2009 at 7:14 AM, Hans Vandierendonck
<hvdieren at elis.ugent.be> wrote:
> Hi,

The correctness of ds-aa hasn't been tested in a long time and hasn't
been tested against changes in BottomUp.  ModRef info in general
hasn't been tested for several years, mostly dsa has been used for
it's points-to graph, not the flags.

You might try tracing the inlining with --debug and making sure all
callsites are inlined.

Andrew

> I am using DataStructureAA.cpp (poolalloc project) for alias analysis
> purposes and have noticed an error in getModRefInfo(). The situation is that
> Mod/Ref info is called with a CallSite and GlobalVariable argument, where
> the global is passed as an argument to the call. Furthermore, the callee
> function does *nothing* with this global but to pass it on to another callee
> function. In the last callee, the BottomUp DSNode is the same as the
> GlobalGraphs' node (very detailed; including a link to another DSNode), but
> in the top function and the intermediate callee, the global is not accessed
> and its DSNode is simply "I", without a type.
>
> An error manifests itself in DataStructureAA, as the intermediate function's
> BottomUp DSNode is used to check for Mod/Ref info (using the RangeIt, then
> isModifiedNode() and isReadNode()). But the intermediate function's DSNode
> is simply "I", so no Mod/Ref is reported. This is erroneous; the global is
> Mod&Ref at the call site.
>
> I am not sure whether there is an error in either ds-aa or in BottomUpDSA.
>
> I have reduced the program down to a simpler test case. Here the
> intermediate functions have an "IE" node. The error occurs when trying to
> see if @spec_compress() does Mod/Ref @spec_fd1 (NoModRef reported). In
> contrast, ds-aa correctly reports ModRef on the callsite to @spec_putc() in
> @compressStream().
>
> Kind regards,
> Hans.
>
>
>
>
>
> --
> -------------------------------------------------------------------------------
>  Hans Vandierendonck, PhD, Ghent University, Electronics & Information
> Systems
>  E-mail: hans.vandierendonck at UGent.be
>  http://www.elis.UGent.be/~hvdieren/
> -------------------------------------------------------------------------------
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>




More information about the llvm-dev mailing list