diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h index dc484f5df57..b0e9b23ab18 100644 --- a/include/llvm/Analysis/AliasAnalysis.h +++ b/include/llvm/Analysis/AliasAnalysis.h @@ -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