[LLVMdev] LLVM Alias Analysis

Daniel Berlin dberlin at dberlin.org
Fri Apr 10 08:13:52 PDT 2015


On Thu, Apr 9, 2015 at 9:40 PM, Wan Zhiyuan <wanzhiyuan at gmail.com> wrote:
> Hi John,
> Thank you for your reply!
>
> 1) For the DSA points-to analysis, I have tried the DSA code from project
> smack (https://github.com/smackers/smack).
> It is surprising that DSA is less precise than basicaa when running on
> bzip2.
>
> Which version of DSA will you recommend If I would like to use DSA on llvm
> 3.5? If no such version, which one will be a good start to do further
> improvement?

If you want to play with alias analysis, at least for things like
CFL-AA, you want to use trunk.

>
>
> 2) For other alias analyses, sorry for not attaching the bc file.
> --------------------------------------------
> Source code 'SimpleGEP.c'
> --------------------------------------------
> typedef struct {
>         int *x;
>         int y[20];
> } Foo;
>
> int main() {
>         Foo foo;
>         int index = 10;
>         foo.x = &index;
>         foo.y[2] = 10;
>         return 0;
> }
>

The only thing that will disambiguate fields right now is basicaa.
CFL-AA will grow this capability over the next year or so.



More information about the llvm-dev mailing list