From fe49b7173b73d5f94506fb0192a6b99e8a91aacb Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Wed, 25 Jan 2017 04:26:29 +0000 Subject: [PATCH] Rewind instantiations of OuterAnalysisManagerProxy in r289317, r291651, and r291662. I found root class should be instantiated for variadic tempate to instantiate static member explicitly. This will fix failures in mingw DLL build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293017 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/CGSCCPassManager.h | 4 ++-- include/llvm/Analysis/LoopAnalysisManager.h | 3 +-- lib/Analysis/CGSCCPassManager.cpp | 2 +- lib/Analysis/LoopAnalysisManager.cpp | 3 +-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/include/llvm/Analysis/CGSCCPassManager.h b/include/llvm/Analysis/CGSCCPassManager.h index 6fbe532112b..3832e23e854 100644 --- a/include/llvm/Analysis/CGSCCPassManager.h +++ b/include/llvm/Analysis/CGSCCPassManager.h @@ -191,8 +191,8 @@ CGSCCAnalysisManagerModuleProxy::run(Module &M, ModuleAnalysisManager &AM); // template. extern template class InnerAnalysisManagerProxy; -extern template class OuterAnalysisManagerProxy< - ModuleAnalysisManager, LazyCallGraph::SCC, LazyCallGraph &>; +extern template class OuterAnalysisManagerProxy; /// A proxy from a \c ModuleAnalysisManager to an \c SCC. typedef OuterAnalysisManagerProxy diff --git a/include/llvm/Analysis/LoopAnalysisManager.h b/include/llvm/Analysis/LoopAnalysisManager.h index 17da516889b..640c086be23 100644 --- a/include/llvm/Analysis/LoopAnalysisManager.h +++ b/include/llvm/Analysis/LoopAnalysisManager.h @@ -141,8 +141,7 @@ LoopAnalysisManagerFunctionProxy::run(Function &F, FunctionAnalysisManager &AM); // template. extern template class InnerAnalysisManagerProxy; -extern template class OuterAnalysisManagerProxy; +extern template class OuterAnalysisManagerProxy; /// A proxy from a \c FunctionAnalysisManager to a \c Loop. typedef OuterAnalysisManagerProxy diff --git a/lib/Analysis/CGSCCPassManager.cpp b/lib/Analysis/CGSCCPassManager.cpp index 054bdc45ad6..55ef7b99f63 100644 --- a/lib/Analysis/CGSCCPassManager.cpp +++ b/lib/Analysis/CGSCCPassManager.cpp @@ -24,7 +24,7 @@ template class PassManager; template class InnerAnalysisManagerProxy; template class OuterAnalysisManagerProxy; + LazyCallGraph::SCC>; template class OuterAnalysisManagerProxy; /// Explicitly specialize the pass manager run method to handle call graph diff --git a/lib/Analysis/LoopAnalysisManager.cpp b/lib/Analysis/LoopAnalysisManager.cpp index e4a0f90b2f7..6ca9c273771 100644 --- a/lib/Analysis/LoopAnalysisManager.cpp +++ b/lib/Analysis/LoopAnalysisManager.cpp @@ -23,8 +23,7 @@ namespace llvm { template class AllAnalysesOn; template class AnalysisManager; template class InnerAnalysisManagerProxy; -template class OuterAnalysisManagerProxy; +template class OuterAnalysisManagerProxy; bool LoopAnalysisManagerFunctionProxy::Result::invalidate( Function &F, const PreservedAnalyses &PA, -- 2.40.0