IncludeFile hack to pull in BasicAliasAnalysis whenever AliasAnalysis.h
authorBrian Gaeke <gaeke@uiuc.edu>
Thu, 11 Dec 2003 05:05:02 +0000 (05:05 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Thu, 11 Dec 2003 05:05:02 +0000 (05:05 +0000)
is included.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10396 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/AliasAnalysis.h

index dc484f5df57ed03d3b484908ccabd57e330b5290..b0e9b23ab18b81ccd1c7f885bcea06bd15521b58 100644 (file)
@@ -31,6 +31,7 @@
 #define LLVM_ANALYSIS_ALIAS_ANALYSIS_H
 
 #include "llvm/Support/CallSite.h"
+#include "llvm/Pass.h"
 
 namespace llvm {
 
@@ -159,6 +160,14 @@ public:
                                  const Value *Ptr, unsigned Size);
 };
 
+// Because of the way .a files work, we must force the BasicAA implementation to
+// be pulled in if the AliasAnalysis header is included.  Otherwise we run
+// the risk of AliasAnalysis being used, but the default implementation not
+// being linked into the tool that uses it.
+//
+extern void BasicAAStub();
+static IncludeFile HDR_INCLUDE_BASICAA_CPP((void*)&BasicAAStub);
+
 } // End llvm namespace
 
 #endif