| //===- PassRegistry.def - Registry of passes --------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file is used as the registry of passes that are part of the core LLVM |
| // libraries. This file describes both transformation passes and analyses |
| // Analyses are registered while transformation passes have names registered |
| // that can be used when providing a textual pass pipeline. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| // NOTE: NO INCLUDE GUARD DESIRED! |
| |
| #ifndef MODULE_ANALYSIS |
| #define MODULE_ANALYSIS(NAME, CREATE_PASS) |
| #endif |
| MODULE_ANALYSIS("lcg", LazyCallGraphAnalysis()) |
| MODULE_ANALYSIS("no-op-module", NoOpModuleAnalysis()) |
| #undef MODULE_ANALYSIS |
| |
| #ifndef MODULE_PASS |
| #define MODULE_PASS(NAME, CREATE_PASS) |
| #endif |
| MODULE_PASS("invalidate<all>", InvalidateAllAnalysesPass()) |
| MODULE_PASS("no-op-module", NoOpModulePass()) |
| MODULE_PASS("print", PrintModulePass(dbgs())) |
| MODULE_PASS("print-cg", LazyCallGraphPrinterPass(dbgs())) |
| MODULE_PASS("verify", VerifierPass()) |
| #undef MODULE_PASS |
| |
| #ifndef CGSCC_ANALYSIS |
| #define CGSCC_ANALYSIS(NAME, CREATE_PASS) |
| #endif |
| CGSCC_ANALYSIS("no-op-cgscc", NoOpCGSCCAnalysis()) |
| #undef CGSCC_ANALYSIS |
| |
| #ifndef CGSCC_PASS |
| #define CGSCC_PASS(NAME, CREATE_PASS) |
| #endif |
| CGSCC_PASS("invalidate<all>", InvalidateAllAnalysesPass()) |
| CGSCC_PASS("no-op-cgscc", NoOpCGSCCPass()) |
| #undef CGSCC_PASS |
| |
| #ifndef FUNCTION_ANALYSIS |
| #define FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
| #endif |
| FUNCTION_ANALYSIS("domtree", DominatorTreeAnalysis()) |
| FUNCTION_ANALYSIS("no-op-function", NoOpFunctionAnalysis()) |
| #undef FUNCTION_ANALYSIS |
| |
| #ifndef FUNCTION_PASS |
| #define FUNCTION_PASS(NAME, CREATE_PASS) |
| #endif |
| FUNCTION_PASS("invalidate<all>", InvalidateAllAnalysesPass()) |
| FUNCTION_PASS("no-op-function", NoOpFunctionPass()) |
| FUNCTION_PASS("print", PrintFunctionPass(dbgs())) |
| FUNCTION_PASS("print<domtree>", DominatorTreePrinterPass(dbgs())) |
| FUNCTION_PASS("verify", VerifierPass()) |
| FUNCTION_PASS("verify<domtree>", DominatorTreeVerifierPass()) |
| #undef FUNCTION_PASS |