Revert r262185, "[PM] Appease mingw32's auto-import DLL build with minimal tweaks."
authorNAKAMURA Takumi <geek4civic@gmail.com>
Sun, 28 Feb 2016 16:54:06 +0000 (16:54 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Sun, 28 Feb 2016 16:54:06 +0000 (16:54 +0000)
I'll rework soon.

llvm-svn: 262186

28 files changed:
llvm/include/llvm/Analysis/AliasAnalysis.h
llvm/include/llvm/Analysis/AssumptionCache.h
llvm/include/llvm/Analysis/CGSCCPassManager.h
llvm/include/llvm/Analysis/DominanceFrontier.h
llvm/include/llvm/Analysis/LazyCallGraph.h
llvm/include/llvm/Analysis/LoopInfo.h
llvm/include/llvm/Analysis/LoopPassManager.h
llvm/include/llvm/Analysis/PostDominators.h
llvm/include/llvm/Analysis/RegionInfo.h
llvm/include/llvm/Analysis/ScalarEvolution.h
llvm/include/llvm/Analysis/TargetLibraryInfo.h
llvm/include/llvm/Analysis/TargetTransformInfo.h
llvm/include/llvm/IR/Dominators.h
llvm/include/llvm/IR/PassManager.h
llvm/lib/Analysis/AliasAnalysis.cpp
llvm/lib/Analysis/AssumptionCache.cpp
llvm/lib/Analysis/CGSCCPassManager.cpp
llvm/lib/Analysis/DominanceFrontier.cpp
llvm/lib/Analysis/LazyCallGraph.cpp
llvm/lib/Analysis/LoopInfo.cpp
llvm/lib/Analysis/LoopPassManager.cpp
llvm/lib/Analysis/PostDominators.cpp
llvm/lib/Analysis/RegionInfo.cpp
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/lib/Analysis/TargetLibraryInfo.cpp
llvm/lib/Analysis/TargetTransformInfo.cpp
llvm/lib/IR/Dominators.cpp
llvm/lib/IR/PassManager.cpp

index 327ae7b..8422e01 100644 (file)
@@ -1024,8 +1024,6 @@ private:
   }
 };
 
-extern template class AnalysisBase<AAManager>;
-
 /// A wrapper pass to provide the legacy pass manager access to a suitably
 /// prepared AAResults object.
 class AAResultsWrapperPass : public FunctionPass {
index fbd4b52..79d2bc9 100644 (file)
@@ -105,8 +105,6 @@ struct AssumptionAnalysis : AnalysisBase<AssumptionAnalysis> {
   AssumptionCache run(Function &F) { return AssumptionCache(F); }
 };
 
-extern template class AnalysisBase<AssumptionAnalysis>;
-
 /// \brief Printer pass for the \c AssumptionAnalysis results.
 class AssumptionPrinterPass : public PassBase<AssumptionPrinterPass> {
   raw_ostream &OS;
index 5cc1c38..4da0874 100644 (file)
@@ -48,16 +48,12 @@ extern template class InnerAnalysisManagerProxy<CGSCCAnalysisManager, Module>;
 typedef InnerAnalysisManagerProxy<CGSCCAnalysisManager, Module>
     CGSCCAnalysisManagerModuleProxy;
 
-extern template class AnalysisBase<CGSCCAnalysisManagerModuleProxy>;
-
 extern template class OuterAnalysisManagerProxy<ModuleAnalysisManager,
                                                 LazyCallGraph::SCC>;
 /// A proxy from a \c ModuleAnalysisManager to an \c SCC.
 typedef OuterAnalysisManagerProxy<ModuleAnalysisManager, LazyCallGraph::SCC>
     ModuleAnalysisManagerCGSCCProxy;
 
-extern template class AnalysisBase<ModuleAnalysisManagerCGSCCProxy>;
-
 /// \brief The core module pass which does a post-order walk of the SCCs and
 /// runs a CGSCC pass over each one.
 ///
@@ -148,8 +144,6 @@ extern template class InnerAnalysisManagerProxy<FunctionAnalysisManager,
 typedef InnerAnalysisManagerProxy<FunctionAnalysisManager, LazyCallGraph::SCC>
     FunctionAnalysisManagerCGSCCProxy;
 
-extern template class AnalysisBase<FunctionAnalysisManagerCGSCCProxy>;
-
 extern template class OuterAnalysisManagerProxy<CGSCCAnalysisManager, Function>;
 /// A proxy from a \c CGSCCAnalysisManager to a \c Function.
 typedef OuterAnalysisManagerProxy<CGSCCAnalysisManager, Function>
index ea2743d..62f9f0e 100644 (file)
@@ -176,8 +176,6 @@ struct DominanceFrontierAnalysis : AnalysisBase<DominanceFrontierAnalysis> {
   DominanceFrontier run(Function &F, AnalysisManager<Function> *AM);
 };
 
-extern template class AnalysisBase<DominanceFrontierAnalysis>;
-
 /// \brief Printer pass for the \c DominanceFrontier.
 class DominanceFrontierPrinterPass
     : public PassBase<DominanceFrontierPrinterPass> {
index af2e067..0c05246 100644 (file)
@@ -906,8 +906,6 @@ struct LazyCallGraphAnalysis : AnalysisBase<LazyCallGraphAnalysis> {
   LazyCallGraph run(Module &M) { return LazyCallGraph(M); }
 };
 
-extern template class AnalysisBase<LazyCallGraphAnalysis>;
-
 /// A pass which prints the call graph to a \c raw_ostream.
 ///
 /// This is primarily useful for testing the analysis.
index d33c215..55bafd2 100644 (file)
@@ -793,8 +793,6 @@ struct LoopAnalysis : AnalysisBase<LoopAnalysis> {
   LoopInfo run(Function &F, AnalysisManager<Function> *AM);
 };
 
-extern template class AnalysisBase<LoopAnalysis>;
-
 /// \brief Printer pass for the \c LoopAnalysis results.
 class LoopPrinterPass : public PassBase<LoopPrinterPass> {
   raw_ostream &OS;
index 34bd78d..c3a6c4e 100644 (file)
@@ -43,8 +43,6 @@ extern template class InnerAnalysisManagerProxy<LoopAnalysisManager, Function>;
 typedef InnerAnalysisManagerProxy<LoopAnalysisManager, Function>
     LoopAnalysisManagerFunctionProxy;
 
-extern template class AnalysisBase<LoopAnalysisManagerFunctionProxy>;
-
 extern template class OuterAnalysisManagerProxy<FunctionAnalysisManager, Loop>;
 /// A proxy from a \c FunctionAnalysisManager to a \c Loop.
 typedef OuterAnalysisManagerProxy<FunctionAnalysisManager, Loop>
index fac8e88..8800d4f 100644 (file)
@@ -46,8 +46,6 @@ struct PostDominatorTreeAnalysis : AnalysisBase<PostDominatorTreeAnalysis> {
   PostDominatorTree run(Function &F);
 };
 
-extern template class AnalysisBase<PostDominatorTreeAnalysis>;
-
 /// \brief Printer pass for the \c PostDominatorTree.
 class PostDominatorTreePrinterPass
     : public PassBase<PostDominatorTreePrinterPass> {
index 1ab8bbe..69e0037 100644 (file)
@@ -929,8 +929,6 @@ struct RegionInfoAnalysis : AnalysisBase<RegionInfoAnalysis> {
   RegionInfo run(Function &F, AnalysisManager<Function> *AM);
 };
 
-extern template class AnalysisBase<RegionInfoAnalysis>;
-
 /// \brief Printer pass for the \c RegionInfo.
 class RegionInfoPrinterPass : public PassBase<RegionInfoPrinterPass> {
   raw_ostream &OS;
index 0224591..8487c96 100644 (file)
@@ -1421,8 +1421,6 @@ namespace llvm {
     ScalarEvolution run(Function &F, AnalysisManager<Function> *AM);
   };
 
-  extern template class AnalysisBase<ScalarEvolutionAnalysis>;
-
   /// \brief Printer pass for the \c ScalarEvolutionAnalysis results.
   class ScalarEvolutionPrinterPass
       : public PassBase<ScalarEvolutionPrinterPass> {
index b679258..6e0776f 100644 (file)
@@ -299,8 +299,6 @@ private:
   TargetLibraryInfoImpl &lookupInfoImpl(Triple T);
 };
 
-extern template class AnalysisBase<TargetLibraryAnalysis>;
-
 class TargetLibraryInfoWrapperPass : public ImmutablePass {
   TargetLibraryInfoImpl TLIImpl;
   TargetLibraryInfo TLI;
index bdc589c..7c97b4f 100644 (file)
@@ -938,8 +938,6 @@ private:
   static Result getDefaultTTI(const Function &F);
 };
 
-extern template class AnalysisBase<TargetIRAnalysis>;
-
 /// \brief Wrapper pass for TargetTransformInfo.
 ///
 /// This pass can be constructed from a TTI object which it stores internally
index 1082896..dece153 100644 (file)
@@ -190,8 +190,6 @@ struct DominatorTreeAnalysis : AnalysisBase<DominatorTreeAnalysis> {
   DominatorTree run(Function &F);
 };
 
-extern template class AnalysisBase<DominatorTreeAnalysis>;
-
 /// \brief Printer pass for the \c DominatorTree.
 class DominatorTreePrinterPass : public PassBase<DominatorTreePrinterPass> {
   raw_ostream &OS;
index 1ba04fd..27ca841 100644 (file)
@@ -749,8 +749,6 @@ extern template class InnerAnalysisManagerProxy<FunctionAnalysisManager,
 typedef InnerAnalysisManagerProxy<FunctionAnalysisManager, Module>
     FunctionAnalysisManagerModuleProxy;
 
-extern template class AnalysisBase<FunctionAnalysisManagerModuleProxy>;
-
 /// \brief A function analysis which acts as a proxy for a module analysis
 /// manager.
 ///
index 29670cb..a30aedc 100644 (file)
@@ -390,9 +390,6 @@ bool AAResults::canInstructionRangeModRef(const Instruction &I1,
 // Provide a definition for the root virtual destructor.
 AAResults::Concept::~Concept() {}
 
-// Provide a definition for the static object used to identify passes.
-template class AnalysisBase<AAManager>;
-
 namespace {
 /// A wrapper pass for external alias analyses. This just squirrels away the
 /// callback used to run any analyses and register their results.
index 6626b60..6af2dc1 100644 (file)
@@ -74,8 +74,6 @@ void AssumptionCache::registerAssumption(CallInst *CI) {
 #endif
 }
 
-template class AnalysisBase<AssumptionAnalysis>;
-
 PreservedAnalyses AssumptionPrinterPass::run(Function &F,
                                              AnalysisManager<Function> *AM) {
   AssumptionCache &AC = AM->getResult<AssumptionAnalysis>(F);
index cabbf91..6326b34 100644 (file)
@@ -18,12 +18,9 @@ namespace llvm {
 template class PassManager<LazyCallGraph::SCC>;
 template class AnalysisManager<LazyCallGraph::SCC>;
 template class InnerAnalysisManagerProxy<CGSCCAnalysisManager, Module>;
-template class AnalysisBase<CGSCCAnalysisManagerModuleProxy>;
 template class OuterAnalysisManagerProxy<ModuleAnalysisManager,
                                          LazyCallGraph::SCC>;
-template class AnalysisBase<ModuleAnalysisManagerCGSCCProxy>;
 template class InnerAnalysisManagerProxy<FunctionAnalysisManager,
                                          LazyCallGraph::SCC>;
-template class AnalysisBase<FunctionAnalysisManagerCGSCCProxy>;
 template class OuterAnalysisManagerProxy<CGSCCAnalysisManager, Function>;
 }
index 6fc6581..00904a9 100644 (file)
@@ -56,8 +56,6 @@ LLVM_DUMP_METHOD void DominanceFrontierWrapperPass::dump() const {
 }
 #endif
 
-template class AnalysisBase<DominanceFrontierAnalysis>;
-
 DominanceFrontier DominanceFrontierAnalysis::run(Function &F,
                                                  FunctionAnalysisManager *AM) {
   DominanceFrontier DF;
index 17a9d04..88f5cd7 100644 (file)
@@ -1499,8 +1499,6 @@ LazyCallGraph::RefSCC *LazyCallGraph::getNextRefSCCInPostOrder() {
   }
 }
 
-template class AnalysisBase<LazyCallGraphAnalysis>;
-
 LazyCallGraphPrinterPass::LazyCallGraphPrinterPass(raw_ostream &OS) : OS(OS) {}
 
 static void printNode(raw_ostream &OS, LazyCallGraph::Node &N) {
index 83ce4c3..bcec24c 100644 (file)
@@ -641,8 +641,6 @@ void LoopInfo::markAsRemoved(Loop *Unloop) {
   }
 }
 
-template class AnalysisBase<LoopAnalysis>;
-
 LoopInfo LoopAnalysis::run(Function &F, AnalysisManager<Function> *AM) {
   // FIXME: Currently we create a LoopInfo from scratch for every function.
   // This may prove to be too wasteful due to deallocating and re-allocating
index 4e90cfa..76210fa 100644 (file)
@@ -16,6 +16,5 @@ namespace llvm {
 template class PassManager<Loop>;
 template class AnalysisManager<Loop>;
 template class InnerAnalysisManagerProxy<LoopAnalysisManager, Function>;
-template class AnalysisBase<LoopAnalysisManagerFunctionProxy>;
 template class OuterAnalysisManagerProxy<FunctionAnalysisManager, Loop>;
 }
index 1c4cfba..d617a87 100644 (file)
@@ -44,8 +44,6 @@ FunctionPass* llvm::createPostDomTree() {
   return new PostDominatorTreeWrapperPass();
 }
 
-template class AnalysisBase<PostDominatorTreeAnalysis>;
-
 PostDominatorTree PostDominatorTreeAnalysis::run(Function &F) {
   PostDominatorTree PDT;
   PDT.recalculate(F);
index 231db99..40501e6 100644 (file)
@@ -185,8 +185,6 @@ namespace llvm {
 // RegionInfoAnalysis implementation
 //
 
-template class AnalysisBase<RegionInfoAnalysis>;
-
 RegionInfo RegionInfoAnalysis::run(Function &F, AnalysisManager<Function> *AM) {
   RegionInfo RI;
   auto *DT = &AM->getResult<DominatorTreeAnalysis>(F);
index f6c2a78..2056306 100644 (file)
@@ -9554,8 +9554,6 @@ void ScalarEvolution::verify() const {
   // TODO: Verify more things.
 }
 
-template class AnalysisBase<ScalarEvolutionAnalysis>;
-
 ScalarEvolution ScalarEvolutionAnalysis::run(Function &F,
                                              AnalysisManager<Function> *AM) {
   return ScalarEvolution(F, AM->getResult<TargetLibraryAnalysis>(F),
index d3fc779..950ee54 100644 (file)
@@ -636,8 +636,6 @@ TargetLibraryInfoWrapperPass::TargetLibraryInfoWrapperPass(
   initializeTargetLibraryInfoWrapperPassPass(*PassRegistry::getPassRegistry());
 }
 
-template class AnalysisBase<TargetLibraryAnalysis>;
-
 // Register the basic pass.
 INITIALIZE_PASS(TargetLibraryInfoWrapperPass, "targetlibinfo",
                 "Target Library Information", false, true)
index 9e5190b..a9e18e0 100644 (file)
@@ -377,8 +377,6 @@ TargetIRAnalysis::Result TargetIRAnalysis::run(const Function &F) {
   return TTICallback(F);
 }
 
-template class AnalysisBase<TargetIRAnalysis>;
-
 TargetIRAnalysis::Result TargetIRAnalysis::getDefaultTTI(const Function &F) {
   return Result(F.getParent()->getDataLayout());
 }
index 7903799..c47091e 100644 (file)
@@ -308,8 +308,6 @@ DominatorTree DominatorTreeAnalysis::run(Function &F) {
   return DT;
 }
 
-template class AnalysisBase<DominatorTreeAnalysis>;
-
 DominatorTreePrinterPass::DominatorTreePrinterPass(raw_ostream &OS) : OS(OS) {}
 
 PreservedAnalyses DominatorTreePrinterPass::run(Function &F,
index eb5ba43..9d5b4cb 100644 (file)
@@ -20,6 +20,5 @@ template class PassManager<Function>;
 template class AnalysisManager<Module>;
 template class AnalysisManager<Function>;
 template class InnerAnalysisManagerProxy<FunctionAnalysisManager, Module>;
-template class AnalysisBase<FunctionAnalysisManagerModuleProxy>;
 template class OuterAnalysisManagerProxy<ModuleAnalysisManager, Function>;
 }