diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2010-07-30 20:19:09 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2010-07-30 20:19:09 +0000 |
commit | b2bdf941f66f367cfaed58497513238167910486 (patch) | |
tree | 21e1c8d5b686e6a16d3ecbe282d4ee3cd28b9135 /include | |
parent | 74273b8822b04e0337fd615886f775eeb887300a (diff) | |
download | external_llvm-b2bdf941f66f367cfaed58497513238167910486.zip external_llvm-b2bdf941f66f367cfaed58497513238167910486.tar.gz external_llvm-b2bdf941f66f367cfaed58497513238167910486.tar.bz2 |
LibCallAliasAnalysis uses multiple inheritance, so it needs to implement
getAdjustedAnalysisPointer. Part of a fix to PR7760.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109883 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/LibCallAliasAnalysis.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/Analysis/LibCallAliasAnalysis.h b/include/llvm/Analysis/LibCallAliasAnalysis.h index 01f108d..c256230 100644 --- a/include/llvm/Analysis/LibCallAliasAnalysis.h +++ b/include/llvm/Analysis/LibCallAliasAnalysis.h @@ -49,6 +49,16 @@ namespace llvm { return false; } + /// getAdjustedAnalysisPointer - This method is used when a pass implements + /// an analysis interface through multiple inheritance. If needed, it + /// should override this to adjust the this pointer as needed for the + /// specified pass info. + virtual void *getAdjustedAnalysisPointer(const PassInfo *PI) { + if (PI->isPassID(&AliasAnalysis::ID)) + return (AliasAnalysis*)this; + return this; + } + private: ModRefResult AnalyzeLibCallDetails(const LibCallFunctionInfo *FI, CallSite CS, Value *P, unsigned Size); |