[PM] Remove now-dead extern template and explicit instantiation
authorChandler Carruth <chandlerc@gmail.com>
Thu, 22 Dec 2016 07:14:33 +0000 (07:14 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 22 Dec 2016 07:14:33 +0000 (07:14 +0000)
declarations.

We're using a custom class here instead of the helper template, these
bits just didn't get deleted when the other bits did get deleted. This
was found by a really nice MSVC warning about explicitly instantiating
a template where some member functions aren't defined and thus can't be
instantiatied.

llvm-svn: 290327

llvm/include/llvm/Analysis/CGSCCPassManager.h
llvm/lib/Analysis/CGSCCPassManager.cpp

index 8eaa771..73f462e 100644 (file)
@@ -489,11 +489,6 @@ private:
   static AnalysisKey Key;
 };
 
-// Ensure the \c FunctionAnalysisManagerCGSCCProxy is provided as an extern
-// template.
-extern template class InnerAnalysisManagerProxy<
-    FunctionAnalysisManager, LazyCallGraph::SCC, LazyCallGraph &>;
-
 extern template class OuterAnalysisManagerProxy<CGSCCAnalysisManager, Function>;
 /// A proxy from a \c CGSCCAnalysisManager to a \c Function.
 typedef OuterAnalysisManagerProxy<CGSCCAnalysisManager, Function>
index 5c1485d..2fa258b 100644 (file)
@@ -25,8 +25,6 @@ template class PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager,
 template class InnerAnalysisManagerProxy<CGSCCAnalysisManager, Module>;
 template class OuterAnalysisManagerProxy<ModuleAnalysisManager,
                                          LazyCallGraph::SCC, LazyCallGraph &>;
-template class InnerAnalysisManagerProxy<FunctionAnalysisManager,
-                                         LazyCallGraph::SCC, LazyCallGraph &>;
 template class OuterAnalysisManagerProxy<CGSCCAnalysisManager, Function>;
 
 /// Explicitly specialize the pass manager run method to handle call graph