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 | 916a28b16a5d616f17a0abde3315808a90b735c7 (patch) | |
| tree | b3b3c149b707cdb39fcd49c9efe0466da07c14bf /llvm | |
| parent | 48e4254989772808938002195492fdf51cf0b47d (diff) | |
| download | bcm5719-llvm-916a28b16a5d616f17a0abde3315808a90b735c7.tar.gz bcm5719-llvm-916a28b16a5d616f17a0abde3315808a90b735c7.zip | |
LibCallAliasAnalysis uses multiple inheritance, so it needs to implement
getAdjustedAnalysisPointer. Part of a fix to PR7760.
llvm-svn: 109883
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Analysis/LibCallAliasAnalysis.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/include/llvm/Analysis/LibCallAliasAnalysis.h b/llvm/include/llvm/Analysis/LibCallAliasAnalysis.h index 01f108d2904..c256230fc5d 100644 --- a/llvm/include/llvm/Analysis/LibCallAliasAnalysis.h +++ b/llvm/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); |

