[LLVMdev] How to transfer AliasAnalysis result from a module pass to a function pass?
Shen Liu
shl413 at lehigh.edu
Mon May 4 12:56:08 PDT 2015
Hi all,
I am Shen, a new LLVM learner. Now i am trying to call basic alias analysis
in my own module pass, i hope to use -basicaa to check whether two pointers
are aliases in the inner function passes.
After I run the command *opt -load ./pdg.so -basicaa -dot-pdg
-debug-pass=Structure < $1 > /dev/null*
the compiler reports as follows:
Pass Arguments: -targetlibinfo -datalayout -notti -basictti -x86tti -no-aa
-basicaa -pdg -dot-pdg -verify -verify-di
Target Library Information
Data Layout
No target information
Target independent code generator's TTI
X86 Target Transform Info
*No Alias Analysis (always returns 'may' alias)*
*Basic Alias Analysis (stateless AA impl)*
ModulePass Manager
Program Dependency Graph
Unnamed pass: implement Pass::getPassName()
FunctionPass Manager
Print instruction-level program dependency graph of function to 'dot'
file
Module Verifier
Debug Info Verifier
Bitcode Writer
Pass Arguments: -no-aa -fda
*No Alias Analysis (always returns 'may' alias)*
FunctionPass Manager
Flow Dependence Analysis
If all passes are Function pass, -basicaa can be executed very well. But
when I call -basicaa through a Module pass. It seems the basic AA was
called during the runtime. However, the inner function pass didn't see
-basicaa option but use default -no-aa instead.
So is there a good way to let my inner Function pass get the result from
outer Module pass?
Best regards,
Shen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150504/606bfdca/attachment.html>
More information about the llvm-dev
mailing list