From: Dan Gohman Date: Mon, 16 Aug 2010 21:38:42 +0000 (+0000) Subject: Eliminate the TopLevelManagerType enum; instead, just make X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7578ea887de6a7cb22c324b629101683a0afb3c5;p=oota-llvm.git Eliminate the TopLevelManagerType enum; instead, just make PMTopLevelManager's constructor take a PMDataManager *, which already provides the needed abstraction support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111189 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/PassManagers.h b/include/llvm/PassManagers.h index 4ef73b878ae..e918091b4a0 100644 --- a/include/llvm/PassManagers.h +++ b/include/llvm/PassManagers.h @@ -98,13 +98,6 @@ namespace llvm { class Timer; class PMDataManager; -/// FunctionPassManager and PassManager, two top level managers, serve -/// as the public interface of pass manager infrastructure. -enum TopLevelManagerType { - TLM_Function, // FunctionPassManager - TLM_Pass // PassManager -}; - // enums for debugging strings enum PassDebuggingString { EXECUTION_MSG, // "Executing Pass '" @@ -199,7 +192,7 @@ public: /// Find analysis usage information for the pass P. AnalysisUsage *findAnalysisUsage(Pass *P); - explicit PMTopLevelManager(enum TopLevelManagerType t); + explicit PMTopLevelManager(PMDataManager *PMDM); virtual ~PMTopLevelManager(); /// Add immutable pass and initialize it. diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index 547036a7818..df96190b43b 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -226,7 +226,7 @@ public: static char ID; explicit FunctionPassManagerImpl(int Depth) : Pass(PT_PassManager, ID), PMDataManager(Depth), - PMTopLevelManager(TLM_Function), wasRun(false) { } + PMTopLevelManager(new FPPassManager(1)), wasRun(false) {} /// add - Add a pass to the queue of passes to run. This passes ownership of /// the Pass to the PassManager. When the PassManager is destroyed, the pass @@ -386,7 +386,7 @@ public: static char ID; explicit PassManagerImpl(int Depth) : Pass(PT_PassManager, ID), PMDataManager(Depth), - PMTopLevelManager(TLM_Pass) { } + PMTopLevelManager(new MPPassManager(1)) {} /// add - Add a pass to the queue of passes to run. This passes ownership of /// the Pass to the PassManager. When the PassManager is destroyed, the pass @@ -490,18 +490,10 @@ static TimingInfo *TheTimeInfo; // PMTopLevelManager implementation /// Initialize top level manager. Create first pass manager. -PMTopLevelManager::PMTopLevelManager(enum TopLevelManagerType t) { - if (t == TLM_Pass) { - MPPassManager *MPP = new MPPassManager(1); - MPP->setTopLevelManager(this); - addPassManager(MPP); - activeStack.push(MPP); - } else if (t == TLM_Function) { - FPPassManager *FPP = new FPPassManager(1); - FPP->setTopLevelManager(this); - addPassManager(FPP); - activeStack.push(FPP); - } +PMTopLevelManager::PMTopLevelManager(PMDataManager *PMDM) { + PMDM->setTopLevelManager(this); + addPassManager(PMDM); + activeStack.push(PMDM); } /// Set pass P as the last user of the given analysis passes.