summaryrefslogtreecommitdiffstats
path: root/llvm
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
commit916a28b16a5d616f17a0abde3315808a90b735c7 (patch)
treeb3b3c149b707cdb39fcd49c9efe0466da07c14bf /llvm
parent48e4254989772808938002195492fdf51cf0b47d (diff)
downloadbcm5719-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.h10
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);
OpenPOWER on IntegriCloud