PassRegistry.def revision 296417
18198Sjoerg//===- PassRegistry.def - Registry of passes --------------------*- C++ -*-===//
28198Sjoerg//
38198Sjoerg//                     The LLVM Compiler Infrastructure
48198Sjoerg//
58198Sjoerg// This file is distributed under the University of Illinois Open Source
68198Sjoerg// License. See LICENSE.TXT for details.
78198Sjoerg//
88198Sjoerg//===----------------------------------------------------------------------===//
98198Sjoerg//
108198Sjoerg// This file is used as the registry of passes that are part of the core LLVM
118198Sjoerg// libraries. This file describes both transformation passes and analyses
128198Sjoerg// Analyses are registered while transformation passes have names registered
138198Sjoerg// that can be used when providing a textual pass pipeline.
148198Sjoerg//
158198Sjoerg//===----------------------------------------------------------------------===//
168198Sjoerg
178198Sjoerg// NOTE: NO INCLUDE GUARD DESIRED!
188198Sjoerg
198198Sjoerg#ifndef MODULE_ANALYSIS
208198Sjoerg#define MODULE_ANALYSIS(NAME, CREATE_PASS)
218198Sjoerg#endif
228198SjoergMODULE_ANALYSIS("lcg", LazyCallGraphAnalysis())
238198SjoergMODULE_ANALYSIS("no-op-module", NoOpModuleAnalysis())
248198SjoergMODULE_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
258198Sjoerg#undef MODULE_ANALYSIS
2650476Speter
27195656Strasz#ifndef MODULE_PASS
28206622Suqs#define MODULE_PASS(NAME, CREATE_PASS)
298198Sjoerg#endif
308198SjoergMODULE_PASS("forceattrs", ForceFunctionAttrsPass())
318198SjoergMODULE_PASS("inferattrs", InferFunctionAttrsPass())
3213754SmppMODULE_PASS("invalidate<all>", InvalidateAllAnalysesPass())
3359460SphantomMODULE_PASS("no-op-module", NoOpModulePass())
3459460SphantomMODULE_PASS("print", PrintModulePass(dbgs()))
358198SjoergMODULE_PASS("print-cg", LazyCallGraphPrinterPass(dbgs()))
3684306SruMODULE_PASS("strip-dead-prototypes", StripDeadPrototypesPass())
3784306SruMODULE_PASS("verify", VerifierPass())
388198Sjoerg#undef MODULE_PASS
3924009Sbde
408198Sjoerg#ifndef CGSCC_ANALYSIS
418198Sjoerg#define CGSCC_ANALYSIS(NAME, CREATE_PASS)
428198Sjoerg#endif
438198SjoergCGSCC_ANALYSIS("no-op-cgscc", NoOpCGSCCAnalysis())
44195656Strasz#undef CGSCC_ANALYSIS
458198Sjoerg
468198Sjoerg#ifndef CGSCC_PASS
478198Sjoerg#define CGSCC_PASS(NAME, CREATE_PASS)
488198Sjoerg#endif
498198SjoergCGSCC_PASS("invalidate<all>", InvalidateAllAnalysesPass())
508198SjoergCGSCC_PASS("no-op-cgscc", NoOpCGSCCPass())
518198Sjoerg#undef CGSCC_PASS
528198Sjoerg
538198Sjoerg#ifndef FUNCTION_ANALYSIS
548198Sjoerg#define FUNCTION_ANALYSIS(NAME, CREATE_PASS)
558198Sjoerg#endif
56131504SruFUNCTION_ANALYSIS("assumptions", AssumptionAnalysis())
57131504SruFUNCTION_ANALYSIS("domtree", DominatorTreeAnalysis())
588198SjoergFUNCTION_ANALYSIS("loops", LoopAnalysis())
598198SjoergFUNCTION_ANALYSIS("no-op-function", NoOpFunctionAnalysis())
608198SjoergFUNCTION_ANALYSIS("scalar-evolution", ScalarEvolutionAnalysis())
618198SjoergFUNCTION_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
628198SjoergFUNCTION_ANALYSIS("targetir",
638198Sjoerg                  TM ? TM->getTargetIRAnalysis() : TargetIRAnalysis())
648198Sjoerg#undef FUNCTION_ANALYSIS
658198Sjoerg
668198Sjoerg#ifndef FUNCTION_PASS
67276006Sbrueffer#define FUNCTION_PASS(NAME, CREATE_PASS)
688198Sjoerg#endif
69276006SbruefferFUNCTION_PASS("adce", ADCEPass())
708198SjoergFUNCTION_PASS("early-cse", EarlyCSEPass())
718198SjoergFUNCTION_PASS("instcombine", InstCombinePass())
728198SjoergFUNCTION_PASS("invalidate<all>", InvalidateAllAnalysesPass())
7316091SjoergFUNCTION_PASS("no-op-function", NoOpFunctionPass())
748198SjoergFUNCTION_PASS("lower-expect", LowerExpectIntrinsicPass())
7534669ScharnierFUNCTION_PASS("print", PrintFunctionPass(dbgs()))
76267774SbaptFUNCTION_PASS("print<assumptions>", AssumptionPrinterPass(dbgs()))
778198SjoergFUNCTION_PASS("print<domtree>", DominatorTreePrinterPass(dbgs()))
7816091SjoergFUNCTION_PASS("print<loops>", LoopPrinterPass(dbgs()))
798198SjoergFUNCTION_PASS("print<scalar-evolution>", ScalarEvolutionPrinterPass(dbgs()))
808198SjoergFUNCTION_PASS("simplify-cfg", SimplifyCFGPass())
8116091SjoergFUNCTION_PASS("sroa", SROA())
828198SjoergFUNCTION_PASS("verify", VerifierPass())
8318718SwoschFUNCTION_PASS("verify<domtree>", DominatorTreeVerifierPass())
84#undef FUNCTION_PASS
85