aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2010-07-30 20:19:09 +0000
committerNick Lewycky <nicholas@mxc.ca>2010-07-30 20:19:09 +0000
commitb2bdf941f66f367cfaed58497513238167910486 (patch)
tree21e1c8d5b686e6a16d3ecbe282d4ee3cd28b9135 /include
parent74273b8822b04e0337fd615886f775eeb887300a (diff)
downloadexternal_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.h10
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);