PassRegistry.def revision 287506
1218912Slstewart//===- PassRegistry.def - Registry of passes --------------------*- C++ -*-===//
2218912Slstewart//
3218912Slstewart//                     The LLVM Compiler Infrastructure
4218912Slstewart//
5218912Slstewart// This file is distributed under the University of Illinois Open Source
6220560Slstewart// License. See LICENSE.TXT for details.
7220560Slstewart//
8218912Slstewart//===----------------------------------------------------------------------===//
9218912Slstewart//
10218912Slstewart// This file is used as the registry of passes that are part of the core LLVM
11218912Slstewart// libraries. This file describes both transformation passes and analyses
12218912Slstewart// Analyses are registered while transformation passes have names registered
13218912Slstewart// that can be used when providing a textual pass pipeline.
14218912Slstewart//
15218912Slstewart//===----------------------------------------------------------------------===//
16218912Slstewart
17218912Slstewart// NOTE: NO INCLUDE GUARD DESIRED!
18218912Slstewart
19218912Slstewart#ifndef MODULE_ANALYSIS
20218912Slstewart#define MODULE_ANALYSIS(NAME, CREATE_PASS)
21218912Slstewart#endif
22218912SlstewartMODULE_ANALYSIS("lcg", LazyCallGraphAnalysis())
23218912SlstewartMODULE_ANALYSIS("no-op-module", NoOpModuleAnalysis())
24218912SlstewartMODULE_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
25218912Slstewart#undef MODULE_ANALYSIS
26218912Slstewart
27218912Slstewart#ifndef MODULE_PASS
28218912Slstewart#define MODULE_PASS(NAME, CREATE_PASS)
29218912Slstewart#endif
30218912SlstewartMODULE_PASS("invalidate<all>", InvalidateAllAnalysesPass())
31218912SlstewartMODULE_PASS("no-op-module", NoOpModulePass())
32225583SlstewartMODULE_PASS("print", PrintModulePass(dbgs()))
33218912SlstewartMODULE_PASS("print-cg", LazyCallGraphPrinterPass(dbgs()))
34218912SlstewartMODULE_PASS("verify", VerifierPass())
35218912Slstewart#undef MODULE_PASS
36218912Slstewart
37218912Slstewart#ifndef CGSCC_ANALYSIS
38218912Slstewart#define CGSCC_ANALYSIS(NAME, CREATE_PASS)
39218912Slstewart#endif
40218912SlstewartCGSCC_ANALYSIS("no-op-cgscc", NoOpCGSCCAnalysis())
41218912Slstewart#undef CGSCC_ANALYSIS
42218912Slstewart
43218912Slstewart#ifndef CGSCC_PASS
44218912Slstewart#define CGSCC_PASS(NAME, CREATE_PASS)
45218912Slstewart#endif
46218912SlstewartCGSCC_PASS("invalidate<all>", InvalidateAllAnalysesPass())
47218912SlstewartCGSCC_PASS("no-op-cgscc", NoOpCGSCCPass())
48218912Slstewart#undef CGSCC_PASS
49218912Slstewart
50218912Slstewart#ifndef FUNCTION_ANALYSIS
51218912Slstewart#define FUNCTION_ANALYSIS(NAME, CREATE_PASS)
52218912Slstewart#endif
53218912SlstewartFUNCTION_ANALYSIS("assumptions", AssumptionAnalysis())
54218912SlstewartFUNCTION_ANALYSIS("domtree", DominatorTreeAnalysis())
55218912SlstewartFUNCTION_ANALYSIS("loops", LoopAnalysis())
56218912SlstewartFUNCTION_ANALYSIS("no-op-function", NoOpFunctionAnalysis())
57218912SlstewartFUNCTION_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
58218912SlstewartFUNCTION_ANALYSIS("targetir",
59218912Slstewart                  TM ? TM->getTargetIRAnalysis() : TargetIRAnalysis())
60218912Slstewart#undef FUNCTION_ANALYSIS
61218912Slstewart
62218912Slstewart#ifndef FUNCTION_PASS
63218912Slstewart#define FUNCTION_PASS(NAME, CREATE_PASS)
64218912Slstewart#endif
65218912SlstewartFUNCTION_PASS("early-cse", EarlyCSEPass())
66218912SlstewartFUNCTION_PASS("instcombine", InstCombinePass())
67218912SlstewartFUNCTION_PASS("invalidate<all>", InvalidateAllAnalysesPass())
68218912SlstewartFUNCTION_PASS("no-op-function", NoOpFunctionPass())
69218912SlstewartFUNCTION_PASS("lower-expect", LowerExpectIntrinsicPass())
70218912SlstewartFUNCTION_PASS("print", PrintFunctionPass(dbgs()))
71218912SlstewartFUNCTION_PASS("print<assumptions>", AssumptionPrinterPass(dbgs()))
72218912SlstewartFUNCTION_PASS("print<domtree>", DominatorTreePrinterPass(dbgs()))
73218912SlstewartFUNCTION_PASS("print<loops>", LoopPrinterPass(dbgs()))
74218912SlstewartFUNCTION_PASS("simplify-cfg", SimplifyCFGPass())
75218912SlstewartFUNCTION_PASS("verify", VerifierPass())
76218912SlstewartFUNCTION_PASS("verify<domtree>", DominatorTreeVerifierPass())
77218912Slstewart#undef FUNCTION_PASS
78218912Slstewart