[llvm-dev] flow-sensitive alias analysis

Oliver Braunsdorf via llvm-dev llvm-dev at lists.llvm.org
Sun Mar 12 14:55:51 PDT 2017


> Perhaps by "value" you mean points-to set?

Thats right! I meant the points-to set. Sorry I didn't mention that.
I want to track back the value of the parameter to its definition -- an
"assignment" which could be indirect through a pointer to the value used
as the function argument.

> Either way, flow-sensitivity can only give you more precise -- but still
> not necessarily exact -- answers.

I am aware of the inexactness of (flow-sensitive) alias analysis. Is
there an exact way to accomplish this?

Thanks for your replies!
Oliver

> 
> Yours,
> Andrey
> ===
> Compiler Architect
> NXP
> 
> 
> On Fri, Mar 10, 2017 at 6:39 PM, Flamedoge via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> 
>     > For a given argument of a call instruction in the cfg: Where does the
>     value of the argument come from at the call site?
> 
>     GVN may tell you the values. I'm not sure why you would need flow
>     sensitive alias analysis for this.
> 
>     -Kevin
> 
>     On Fri, Mar 10, 2017 at 8:40 AM, Oliver Braunsdorf via llvm-dev
>     <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> 
>         Hi,
> 
>         I am looking for some flow-sensitive (context-insensitive) alias
>         analysis algorithm implemented in LLVM. (I use LLVM 3.9, hope to
>         switch
>         to 4.0 soon.)
>         As far as I know, none of the built-in analysis (basicAA,
>         globals-modref, andersAA, etc.) is intended to be
>         flow-sensitive. So I
>         searched and came across these two
> 
>         1. https://github.com/unsw-corg/SVF
>         <https://github.com/unsw-corg/SVF> by Yulei Sui (for LLVM 3.8)
>         2. http://www.cs.ucsb.edu/~benh/research/downloads.html
>         <http://www.cs.ucsb.edu/~benh/research/downloads.html> by Ben
>         Hardekopf
>         (for LLVM 2.5)
> 
>         Are there other implementations which use the AA-Interface?
> 
>         Giving a little context, I need some functionality in LLVM that
>         answers
>         the following question.
>         For a given argument of a call instruction in the cfg: Where
>         does the
>         value of the argument come from at the call site?
> 
>         So I guess I need a flow-sensitive alias analysis, right?
>         Could someone please guide me a little?
> 
> 
>         Thank you,
> 
>         Oliver
>         _______________________________________________
>         LLVM Developers mailing list
>         llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>         http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>         <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> 
> 
> 
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> 
> 


More information about the llvm-dev mailing list