[llvm] r290327 - [PM] Remove now-dead extern template and explicit instantiation

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 23:14:33 PST 2016


Author: chandlerc
Date: Thu Dec 22 01:14:33 2016
New Revision: 290327

URL: http://llvm.org/viewvc/llvm-project?rev=290327&view=rev
Log:
[PM] Remove now-dead extern template and explicit instantiation
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.

Modified:
    llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h
    llvm/trunk/lib/Analysis/CGSCCPassManager.cpp

Modified: llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h?rev=290327&r1=290326&r2=290327&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h (original)
+++ llvm/trunk/include/llvm/Analysis/CGSCCPassManager.h Thu Dec 22 01:14:33 2016
@@ -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>

Modified: llvm/trunk/lib/Analysis/CGSCCPassManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/CGSCCPassManager.cpp?rev=290327&r1=290326&r2=290327&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/CGSCCPassManager.cpp (original)
+++ llvm/trunk/lib/Analysis/CGSCCPassManager.cpp Thu Dec 22 01:14:33 2016
@@ -25,8 +25,6 @@ template class PassManager<LazyCallGraph
 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




More information about the llvm-commits mailing list