Since Data Structure alias analysis inherits from ModulePass rather than FunctionPass, does that mean that it performs interprocedural alias analysis? Further, if I compare pointers from two different functions, will I sometimes get a NoAlias response.
Regards,
Ryan
Since Data Structure alias analysis inherits from ModulePass rather than
FunctionPass, does that mean that it performs interprocedural alias
analysis?
yes.
Further, if I compare pointers from two different functions,
will I sometimes get a NoAlias response.
Don't do that :). That's probably a bug in DSA, but fixing it would be impractical.
-Chris
Ryan's second question should be more generally phrased for the entire AliasAnalysis interface, not just DSA: will it work to ask alias queries or mod/ref queries for a pair of pointers or a pair of instructions in two different functions?
--Vikram
http://www.cs.uiuc.edu/~vadve
http://llvm.cs.uiuc.edu/
Ryan's second question should be more generally phrased for the
entire AliasAnalysis interface, not just DSA: will it work to ask
alias queries or mod/ref queries for a pair of pointers or a pair of
instructions in two different functions?
Yes, an implementation should strive to implement that. I believe that globalmodref-aa (the only 'not research' IP alias analysis) does this right.
-Chris