1 //===- PassRegistry.def - Registry of passes --------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file is used as the registry of passes that are part of the core LLVM 11 // libraries. This file describes both transformation passes and analyses 12 // Analyses are registered while transformation passes have names registered 13 // that can be used when providing a textual pass pipeline. 14 // 15 //===----------------------------------------------------------------------===// 16 17 // NOTE: NO INCLUDE GUARD DESIRED! 18 19 #ifndef MODULE_ANALYSIS 20 #define MODULE_ANALYSIS(NAME, CREATE_PASS) 21 #endif 22 MODULE_ANALYSIS("lcg", LazyCallGraphAnalysis()) 23 #undef MODULE_ANALYSIS 24 25 #ifndef MODULE_PASS 26 #define MODULE_PASS(NAME, CREATE_PASS) 27 #endif 28 MODULE_PASS("print", PrintModulePass(dbgs())) 29 MODULE_PASS("print-cg", LazyCallGraphPrinterPass(dbgs())) 30 #undef MODULE_PASS 31 32 #ifndef CGSCC_ANALYSIS 33 #define CGSCC_ANALYSIS(NAME, CREATE_PASS) 34 #endif 35 #undef CGSCC_ANALYSIS 36 37 #ifndef CGSCC_PASS 38 #define CGSCC_PASS(NAME, CREATE_PASS) 39 #endif 40 #undef CGSCC_PASS 41 42 #ifndef FUNCTION_ANALYSIS 43 #define FUNCTION_ANALYSIS(NAME, CREATE_PASS) 44 #endif 45 #undef FUNCTION_ANALYSIS 46 47 #ifndef FUNCTION_PASS 48 #define FUNCTION_PASS(NAME, CREATE_PASS) 49 #endif 50 FUNCTION_PASS("print", PrintFunctionPass(dbgs())) 51 #undef FUNCTION_PASS 52