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