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