[LLVMdev] problem with using DSA for a side-effect analysis

Zvonimir Rakamaric zrakamar at gmail.com
Fri Apr 4 08:04:06 PDT 2008


On Fri, Apr 4, 2008 at 2:38 AM, Andrew Lenharth <andrewl at lenharth.org> wrote:
> On Thu, Apr 3, 2008 at 4:53 PM, Zvonimir Rakamaric <zrakamar at gmail.com> wrote:
>  > Thanks guys!
>  >
>  >  I was looking into ModRef before, but I don't think that's exactly
>  >  what I need. ModRef API call getModRefInfo requires a Value to be
>  >  passed to it. However, some memory location M (which is a <DSNode,
>  >  offset> pair) visible to the caller can be modified in the callee
>  >  without any Value in the caller actually pointing to that location. I
>  >  also need to capture those...
>  >
>  >  I would need a call similar to getModRefInfo, just where second
>  >  parameter is not a Value, but a DSNodeHandle pointing to the memory
>  >  location in the caller whose ModRef status I would like to find out.
>  >  Do you maybe have anything similar to that?
>
>  I haven't looked at the dsaaa implementation for quite a while, but
>  that would be the place to start.  If the DSNodeHandle corrosponds to
>  anything in the current function, you could just use that as a value,
>  but it won't always.  Eitherway, seeing how DSAaa does this would be
>  the best code to start from.

Thanks!
I already had most of the code for it already written, staring at the
DSAaa helped me to fix a couple of problems. It seems to be working
perfectly now...
Btw, apart from the difference I already mentioned, DSAaa modref is
also not so good fit for me because it is not field-sensitive...

-- Zvonimir



More information about the llvm-dev mailing list