[LLVMdev] Using basicaa alias analysis pass

Roel Jordans r.jordans at tue.nl
Wed Jan 21 08:51:17 PST 2015


Hi,

I think you're looking for the -print-alias-sets option in opt

http://llvm.org/docs/AliasAnalysis.html#the-print-alias-sets-pass

Also two other small remarks:

1)
The alias analysis is a pass provided by LLVM itself so you won't have 
to load it as a library

2)
Alias analysis only does analysis and this information gets used by 
other passes.  Only running the alias analysis won't change the program. 
  Opt has an option -disable-output, which disables the bitcode output 
(it will still print the debug output though).

That would make your opt command:
 > opt -load lib/AliasAnalysis.so -basicaa < hello.bc > result.bc

More like this:
opt -basicaa -print-alias-sets -disable-output hello.bc

Cheers,
  Roel

On 21/01/15 17:09, Sheng-Hsiu Lin wrote:
> Hi
>
> I am completely new to LLVM, and I am trying to explore the alias
> analysis part of it.  It seems to me that -basicaa is the most simple
> alias analysis pass in LLVM.  So I would like to try and make it work
> (to see some alias analysis results of some sample bit code).
>
> What I have done is that I
>
> ---make lib/Analysis/BasicAliasAnalysis.cpp into a .so file
> ---write a sample c program, hello.c, with the following code
>
> #include<stdio.h>
>
> int main()
> {
>      int a;
>      int *p;
>      p = &a;
>      a = 10;
>      printf("Hello World");
>      return 0;
> }
>
> ---compile the c program into bit code by doing
> clang -c -emit-llvm hello.c -o hello.bc
>
> ---run the bit code through basicaa pass
> opt -load lib/AliasAnalysis.so -basicaa < hello.bc > result.bc
>
> ---display the resulted bit code
> llvm-dis result.bc -o -
>
> However, the resulted bit code result.bc is exactly the same as the
> original bit code hello.bc.  That is no alias analysis information is
> printed on the screen or recorded in the resulting result.bc file.
>
> Could someone explain what I should do to get some results from basicaa
> alias analysis pass?
>
> Thank you very much.  Your help is much appreciated!
>
> Sheng-Hsiu
>
>
> _______________________________________________
> 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