[PM] Sink the no-op pass parsing logic into the .def-based registry to
authorChandler Carruth <chandlerc@gmail.com>
Tue, 6 Jan 2015 02:37:55 +0000 (02:37 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 6 Jan 2015 02:37:55 +0000 (02:37 +0000)
simplify things. This will become more important as I add no-op analyses
that want to re-use the logic we already have for analyses in the
registry. For now, no functionality changed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225238 91177308-0d34-0410-b5e6-96231b3b80d8

tools/opt/PassRegistry.def
tools/opt/Passes.cpp

index ed7fdf125d596ebb1023534a187335ac3bd71342..ea9f95f5941bf987c40a185bab9049dfdc44475c 100644 (file)
@@ -25,6 +25,7 @@ MODULE_ANALYSIS("lcg", LazyCallGraphAnalysis())
 #ifndef MODULE_PASS
 #define MODULE_PASS(NAME, CREATE_PASS)
 #endif
+MODULE_PASS("no-op-module", NoOpModulePass())
 MODULE_PASS("print", PrintModulePass(dbgs()))
 MODULE_PASS("print-cg", LazyCallGraphPrinterPass(dbgs()))
 MODULE_PASS("verify", VerifierPass())
@@ -38,6 +39,7 @@ MODULE_PASS("verify", VerifierPass())
 #ifndef CGSCC_PASS
 #define CGSCC_PASS(NAME, CREATE_PASS)
 #endif
+CGSCC_PASS("no-op-cgscc", NoOpCGSCCPass())
 #undef CGSCC_PASS
 
 #ifndef FUNCTION_ANALYSIS
@@ -48,6 +50,7 @@ MODULE_PASS("verify", VerifierPass())
 #ifndef FUNCTION_PASS
 #define FUNCTION_PASS(NAME, CREATE_PASS)
 #endif
+FUNCTION_PASS("no-op-function", NoOpFunctionPass())
 FUNCTION_PASS("print", PrintFunctionPass(dbgs()))
 FUNCTION_PASS("verify", VerifierPass())
 #undef FUNCTION_PASS
index 0502f1ea31381f1541e4b21875971c2c679997af..b9c048a8c029ded8a621923b0b33a62332c4c4d4 100644 (file)
@@ -67,8 +67,6 @@ void llvm::registerFunctionAnalyses(FunctionAnalysisManager &FAM) {
 }
 
 static bool isModulePassName(StringRef Name) {
-  if (Name == "no-op-module") return true;
-
 #define MODULE_PASS(NAME, CREATE_PASS) if (Name == NAME) return true;
 #include "PassRegistry.def"
 
@@ -82,8 +80,6 @@ static bool isModulePassName(StringRef Name) {
 }
 
 static bool isCGSCCPassName(StringRef Name) {
-  if (Name == "no-op-cgscc") return true;
-
 #define CGSCC_PASS(NAME, CREATE_PASS) if (Name == NAME) return true;
 #include "PassRegistry.def"
 
@@ -97,8 +93,6 @@ static bool isCGSCCPassName(StringRef Name) {
 }
 
 static bool isFunctionPassName(StringRef Name) {
-  if (Name == "no-op-function") return true;
-
 #define FUNCTION_PASS(NAME, CREATE_PASS) if (Name == NAME) return true;
 #include "PassRegistry.def"
 
@@ -112,11 +106,6 @@ static bool isFunctionPassName(StringRef Name) {
 }
 
 static bool parseModulePassName(ModulePassManager &MPM, StringRef Name) {
-  if (Name == "no-op-module") {
-    MPM.addPass(NoOpModulePass());
-    return true;
-  }
-
 #define MODULE_PASS(NAME, CREATE_PASS)                                         \
   if (Name == NAME) {                                                          \
     MPM.addPass(CREATE_PASS);                                                  \
@@ -136,11 +125,6 @@ static bool parseModulePassName(ModulePassManager &MPM, StringRef Name) {
 }
 
 static bool parseCGSCCPassName(CGSCCPassManager &CGPM, StringRef Name) {
-  if (Name == "no-op-cgscc") {
-    CGPM.addPass(NoOpCGSCCPass());
-    return true;
-  }
-
 #define CGSCC_PASS(NAME, CREATE_PASS)                                          \
   if (Name == NAME) {                                                          \
     CGPM.addPass(CREATE_PASS);                                                 \
@@ -160,11 +144,6 @@ static bool parseCGSCCPassName(CGSCCPassManager &CGPM, StringRef Name) {
 }
 
 static bool parseFunctionPassName(FunctionPassManager &FPM, StringRef Name) {
-  if (Name == "no-op-function") {
-    FPM.addPass(NoOpFunctionPass());
-    return true;
-  }
-
 #define FUNCTION_PASS(NAME, CREATE_PASS)                                       \
   if (Name == NAME) {                                                          \
     FPM.addPass(CREATE_PASS);                                                  \