[llvm-commits] [llvm] r111189 - in /llvm/trunk: include/llvm/PassManagers.h lib/VMCore/PassManager.cpp
Dan Gohman
gohman at apple.com
Mon Aug 16 14:38:42 PDT 2010
Author: djg
Date: Mon Aug 16 16:38:42 2010
New Revision: 111189
URL: http://llvm.org/viewvc/llvm-project?rev=111189&view=rev
Log:
Eliminate the TopLevelManagerType enum; instead, just make
PMTopLevelManager's constructor take a PMDataManager *, which already
provides the needed abstraction support.
Modified:
llvm/trunk/include/llvm/PassManagers.h
llvm/trunk/lib/VMCore/PassManager.cpp
Modified: llvm/trunk/include/llvm/PassManagers.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/PassManagers.h?rev=111189&r1=111188&r2=111189&view=diff
==============================================================================
--- llvm/trunk/include/llvm/PassManagers.h (original)
+++ llvm/trunk/include/llvm/PassManagers.h Mon Aug 16 16:38:42 2010
@@ -98,13 +98,6 @@
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 @@
/// 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.
Modified: llvm/trunk/lib/VMCore/PassManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/PassManager.cpp?rev=111189&r1=111188&r2=111189&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/PassManager.cpp (original)
+++ llvm/trunk/lib/VMCore/PassManager.cpp Mon Aug 16 16:38:42 2010
@@ -226,7 +226,7 @@
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 @@
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 @@
// 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.
More information about the llvm-commits
mailing list