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 22MODULE_ANALYSIS("lcg", LazyCallGraphAnalysis()) 23#undef MODULE_ANALYSIS 24 25#ifndef MODULE_PASS 26#define MODULE_PASS(NAME, CREATE_PASS) 27#endif 28MODULE_PASS("print", PrintModulePass(dbgs())) 29MODULE_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 50FUNCTION_PASS("print", PrintFunctionPass(dbgs())) 51#undef FUNCTION_PASS 52