[llvm-commits] [poolalloc] r104779 - /poolalloc/trunk/lib/DSA/DataStructureAA.cpp

Will Dietz wdietz2 at illinois.edu
Wed May 26 15:35:47 PDT 2010


Author: wdietz2
Date: Wed May 26 17:35:47 2010
New Revision: 104779

URL: http://llvm.org/viewvc/llvm-project?rev=104779&view=rev
Log:
ds-aa: impl 'getAdjustedAnalysisPointer' to fix crash due to multiple inheritance issue

Modified:
    poolalloc/trunk/lib/DSA/DataStructureAA.cpp

Modified: poolalloc/trunk/lib/DSA/DataStructureAA.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/DataStructureAA.cpp?rev=104779&r1=104778&r2=104779&view=diff
==============================================================================
--- poolalloc/trunk/lib/DSA/DataStructureAA.cpp (original)
+++ poolalloc/trunk/lib/DSA/DataStructureAA.cpp Wed May 26 17:35:47 2010
@@ -68,6 +68,16 @@
       AU.addRequiredTransitive<BUDataStructures>(); // Uses BU Datastructures
     }
 
+    /// 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;
+    }
+
     //------------------------------------------------
     // Implement the AliasAnalysis API
     //





More information about the llvm-commits mailing list