LCOV - code coverage report
Current view: top level - lib/Passes - PassRegistry.def (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 164 177 92.7 %
Date: 2018-06-17 00:07:59 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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
      22         955 : MODULE_ANALYSIS("callgraph", CallGraphAnalysis())
      23         954 : MODULE_ANALYSIS("lcg", LazyCallGraphAnalysis())
      24         954 : MODULE_ANALYSIS("module-summary", ModuleSummaryIndexAnalysis())
      25         970 : MODULE_ANALYSIS("no-op-module", NoOpModuleAnalysis())
      26         965 : MODULE_ANALYSIS("profile-summary", ProfileSummaryAnalysis())
      27         956 : MODULE_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
      28         954 : MODULE_ANALYSIS("verify", VerifierAnalysis())
      29             : 
      30             : #ifndef MODULE_ALIAS_ANALYSIS
      31             : #define MODULE_ALIAS_ANALYSIS(NAME, CREATE_PASS)                               \
      32             :   MODULE_ANALYSIS(NAME, CREATE_PASS)
      33             : #endif
      34         964 : MODULE_ALIAS_ANALYSIS("globals-aa", GlobalsAA())
      35             : #undef MODULE_ALIAS_ANALYSIS
      36             : #undef MODULE_ANALYSIS
      37             : 
      38             : #ifndef MODULE_PASS
      39             : #define MODULE_PASS(NAME, CREATE_PASS)
      40             : #endif
      41           3 : MODULE_PASS("always-inline", AlwaysInlinerPass())
      42           0 : MODULE_PASS("called-value-propagation", CalledValuePropagationPass())
      43           1 : MODULE_PASS("constmerge", ConstantMergePass())
      44           2 : MODULE_PASS("cross-dso-cfi", CrossDSOCFIPass())
      45           1 : MODULE_PASS("deadargelim", DeadArgumentEliminationPass())
      46           1 : MODULE_PASS("elim-avail-extern", EliminateAvailableExternallyPass())
      47           1 : MODULE_PASS("forceattrs", ForceFunctionAttrsPass())
      48           0 : MODULE_PASS("function-import", FunctionImportPass())
      49           4 : MODULE_PASS("globaldce", GlobalDCEPass())
      50           1 : MODULE_PASS("globalopt", GlobalOptPass())
      51           1 : MODULE_PASS("globalsplit", GlobalSplitPass())
      52           1 : MODULE_PASS("inferattrs", InferFunctionAttrsPass())
      53          18 : MODULE_PASS("insert-gcov-profiling", GCOVProfilerPass())
      54          23 : MODULE_PASS("instrprof", InstrProfiling())
      55           2 : MODULE_PASS("internalize", InternalizePass())
      56           1 : MODULE_PASS("invalidate<all>", InvalidateAllAnalysesPass())
      57           2 : MODULE_PASS("ipsccp", IPSCCPPass())
      58           1 : MODULE_PASS("lowertypetests", LowerTypeTestsPass())
      59           7 : MODULE_PASS("name-anon-globals", NameAnonGlobalPass())
      60          23 : MODULE_PASS("no-op-module", NoOpModulePass())
      61          39 : MODULE_PASS("partial-inliner", PartialInlinerPass())
      62           8 : MODULE_PASS("pgo-icall-prom", PGOIndirectCallPromotion())
      63          26 : MODULE_PASS("pgo-instr-gen", PGOInstrumentationGen())
      64          75 : MODULE_PASS("pgo-instr-use", PGOInstrumentationUse())
      65           1 : MODULE_PASS("pre-isel-intrinsic-lowering", PreISelIntrinsicLoweringPass())
      66           2 : MODULE_PASS("print-profile-summary", ProfileSummaryPrinterPass(dbgs()))
      67           2 : MODULE_PASS("print-callgraph", CallGraphPrinterPass(dbgs()))
      68           6 : MODULE_PASS("print", PrintModulePass(dbgs()))
      69           2 : MODULE_PASS("print-lcg", LazyCallGraphPrinterPass(dbgs()))
      70           0 : MODULE_PASS("print-lcg-dot", LazyCallGraphDOTPrinterPass(dbgs()))
      71          44 : MODULE_PASS("rewrite-statepoints-for-gc", RewriteStatepointsForGC())
      72           2 : MODULE_PASS("rewrite-symbols", RewriteSymbolPass())
      73           2 : MODULE_PASS("rpo-functionattrs", ReversePostOrderFunctionAttrsPass())
      74         108 : MODULE_PASS("sample-profile", SampleProfileLoaderPass())
      75           2 : MODULE_PASS("strip-dead-prototypes", StripDeadPrototypesPass())
      76           3 : MODULE_PASS("synthetic-counts-propagation", SyntheticCountsPropagation())
      77           2 : MODULE_PASS("wholeprogramdevirt", WholeProgramDevirtPass())
      78           2 : MODULE_PASS("verify", VerifierPass())
      79             : #undef MODULE_PASS
      80             : 
      81             : #ifndef CGSCC_ANALYSIS
      82             : #define CGSCC_ANALYSIS(NAME, CREATE_PASS)
      83             : #endif
      84         960 : CGSCC_ANALYSIS("no-op-cgscc", NoOpCGSCCAnalysis())
      85         950 : CGSCC_ANALYSIS("fam-proxy", FunctionAnalysisManagerCGSCCProxy())
      86             : #undef CGSCC_ANALYSIS
      87             : 
      88             : #ifndef CGSCC_PASS
      89             : #define CGSCC_PASS(NAME, CREATE_PASS)
      90             : #endif
      91          16 : CGSCC_PASS("argpromotion", ArgumentPromotionPass())
      92           0 : CGSCC_PASS("invalidate<all>", InvalidateAllAnalysesPass())
      93          40 : CGSCC_PASS("function-attrs", PostOrderFunctionAttrsPass())
      94         206 : CGSCC_PASS("inline", InlinerPass())
      95           9 : CGSCC_PASS("no-op-cgscc", NoOpCGSCCPass())
      96             : #undef CGSCC_PASS
      97             : 
      98             : #ifndef FUNCTION_ANALYSIS
      99             : #define FUNCTION_ANALYSIS(NAME, CREATE_PASS)
     100             : #endif
     101        1032 : FUNCTION_ANALYSIS("aa", AAManager())
     102         955 : FUNCTION_ANALYSIS("assumptions", AssumptionAnalysis())
     103         957 : FUNCTION_ANALYSIS("block-freq", BlockFrequencyAnalysis())
     104         981 : FUNCTION_ANALYSIS("branch-prob", BranchProbabilityAnalysis())
     105         971 : FUNCTION_ANALYSIS("domtree", DominatorTreeAnalysis())
     106         955 : FUNCTION_ANALYSIS("postdomtree", PostDominatorTreeAnalysis())
     107         954 : FUNCTION_ANALYSIS("demanded-bits", DemandedBitsAnalysis())
     108         954 : FUNCTION_ANALYSIS("domfrontier", DominanceFrontierAnalysis())
     109         958 : FUNCTION_ANALYSIS("loops", LoopAnalysis())
     110         959 : FUNCTION_ANALYSIS("lazy-value-info", LazyValueAnalysis())
     111         954 : FUNCTION_ANALYSIS("da", DependenceAnalysis())
     112         958 : FUNCTION_ANALYSIS("memdep", MemoryDependenceAnalysis())
     113         954 : FUNCTION_ANALYSIS("memoryssa", MemorySSAAnalysis())
     114         954 : FUNCTION_ANALYSIS("regions", RegionInfoAnalysis())
     115         966 : FUNCTION_ANALYSIS("no-op-function", NoOpFunctionAnalysis())
     116        1026 : FUNCTION_ANALYSIS("opt-remark-emit", OptimizationRemarkEmitterAnalysis())
     117        1012 : FUNCTION_ANALYSIS("scalar-evolution", ScalarEvolutionAnalysis())
     118         954 : FUNCTION_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
     119        1937 : FUNCTION_ANALYSIS("targetir",
     120             :                   TM ? TM->getTargetIRAnalysis() : TargetIRAnalysis())
     121         954 : FUNCTION_ANALYSIS("verify", VerifierAnalysis())
     122             : 
     123             : #ifndef FUNCTION_ALIAS_ANALYSIS
     124             : #define FUNCTION_ALIAS_ANALYSIS(NAME, CREATE_PASS)                             \
     125             :   FUNCTION_ANALYSIS(NAME, CREATE_PASS)
     126             : #endif
     127        1051 : FUNCTION_ALIAS_ANALYSIS("basic-aa", BasicAA())
     128         973 : FUNCTION_ALIAS_ANALYSIS("cfl-anders-aa", CFLAndersAA())
     129         971 : FUNCTION_ALIAS_ANALYSIS("cfl-steens-aa", CFLSteensAA())
     130         955 : FUNCTION_ALIAS_ANALYSIS("scev-aa", SCEVAA())
     131         955 : FUNCTION_ALIAS_ANALYSIS("scoped-noalias-aa", ScopedNoAliasAA())
     132         959 : FUNCTION_ALIAS_ANALYSIS("type-based-aa", TypeBasedAA())
     133             : #undef FUNCTION_ALIAS_ANALYSIS
     134             : #undef FUNCTION_ANALYSIS
     135             : 
     136             : #ifndef FUNCTION_PASS
     137             : #define FUNCTION_PASS(NAME, CREATE_PASS)
     138             : #endif
     139          44 : FUNCTION_PASS("aa-eval", AAEvaluator())
     140           4 : FUNCTION_PASS("adce", ADCEPass())
     141           9 : FUNCTION_PASS("add-discriminators", AddDiscriminatorsPass())
     142           3 : FUNCTION_PASS("aggressive-instcombine", AggressiveInstCombinePass())
     143           3 : FUNCTION_PASS("alignment-from-assumptions", AlignmentFromAssumptionsPass())
     144           3 : FUNCTION_PASS("bdce", BDCEPass())
     145           1 : FUNCTION_PASS("bounds-checking", BoundsCheckingPass())
     146           2 : FUNCTION_PASS("break-crit-edges", BreakCriticalEdgesPass())
     147           4 : FUNCTION_PASS("callsite-splitting", CallSiteSplittingPass())
     148           2 : FUNCTION_PASS("consthoist", ConstantHoistingPass())
     149           3 : FUNCTION_PASS("correlated-propagation", CorrelatedValuePropagationPass())
     150           2 : FUNCTION_PASS("dce", DCEPass())
     151           0 : FUNCTION_PASS("div-rem-pairs", DivRemPairsPass())
     152           2 : FUNCTION_PASS("dse", DSEPass())
     153           0 : FUNCTION_PASS("dot-cfg", CFGPrinterPass())
     154           1 : FUNCTION_PASS("dot-cfg-only", CFGOnlyPrinterPass())
     155           4 : FUNCTION_PASS("early-cse", EarlyCSEPass(/*UseMemorySSA=*/false))
     156           2 : FUNCTION_PASS("early-cse-memssa", EarlyCSEPass(/*UseMemorySSA=*/true))
     157           4 : FUNCTION_PASS("ee-instrument", EntryExitInstrumenterPass(/*PostInlining=*/false))
     158           4 : FUNCTION_PASS("post-inline-ee-instrument", EntryExitInstrumenterPass(/*PostInlining=*/true))
     159           0 : FUNCTION_PASS("gvn-hoist", GVNHoistPass())
     160          54 : FUNCTION_PASS("instcombine", InstCombinePass())
     161           1 : FUNCTION_PASS("instsimplify", InstSimplifierPass())
     162           4 : FUNCTION_PASS("invalidate<all>", InvalidateAllAnalysesPass())
     163           1 : FUNCTION_PASS("float2int", Float2IntPass())
     164          27 : FUNCTION_PASS("no-op-function", NoOpFunctionPass())
     165           3 : FUNCTION_PASS("libcalls-shrinkwrap", LibCallsShrinkWrapPass())
     166           5 : FUNCTION_PASS("loweratomic", LowerAtomicPass())
     167           6 : FUNCTION_PASS("lower-expect", LowerExpectIntrinsicPass())
     168           1 : FUNCTION_PASS("lower-guard-intrinsic", LowerGuardIntrinsicPass())
     169           1 : FUNCTION_PASS("guard-widening", GuardWideningPass())
     170          15 : FUNCTION_PASS("gvn", GVN())
     171           4 : FUNCTION_PASS("loop-simplify", LoopSimplifyPass())
     172           2 : FUNCTION_PASS("loop-sink", LoopSinkPass())
     173           1 : FUNCTION_PASS("lowerinvoke", LowerInvokePass())
     174           1 : FUNCTION_PASS("mem2reg", PromotePass())
     175           2 : FUNCTION_PASS("memcpyopt", MemCpyOptPass())
     176           1 : FUNCTION_PASS("mldst-motion", MergedLoadStoreMotionPass())
     177          15 : FUNCTION_PASS("nary-reassociate", NaryReassociatePass())
     178           2 : FUNCTION_PASS("newgvn", NewGVNPass())
     179           5 : FUNCTION_PASS("jump-threading", JumpThreadingPass())
     180           3 : FUNCTION_PASS("partially-inline-libcalls", PartiallyInlineLibCallsPass())
     181           7 : FUNCTION_PASS("lcssa", LCSSAPass())
     182           8 : FUNCTION_PASS("loop-data-prefetch", LoopDataPrefetchPass())
     183           2 : FUNCTION_PASS("loop-load-elim", LoopLoadEliminationPass())
     184           2 : FUNCTION_PASS("loop-distribute", LoopDistributePass())
     185           8 : FUNCTION_PASS("loop-vectorize", LoopVectorizePass())
     186           3 : FUNCTION_PASS("pgo-memop-opt", PGOMemOPSizeOpt())
     187           6 : FUNCTION_PASS("print", PrintFunctionPass(dbgs()))
     188           2 : FUNCTION_PASS("print<assumptions>", AssumptionPrinterPass(dbgs()))
     189          26 : FUNCTION_PASS("print<block-freq>", BlockFrequencyPrinterPass(dbgs()))
     190          14 : FUNCTION_PASS("print<branch-prob>", BranchProbabilityPrinterPass(dbgs()))
     191           2 : FUNCTION_PASS("print<domtree>", DominatorTreePrinterPass(dbgs()))
     192           5 : FUNCTION_PASS("print<postdomtree>", PostDominatorTreePrinterPass(dbgs()))
     193           4 : FUNCTION_PASS("print<demanded-bits>", DemandedBitsPrinterPass(dbgs()))
     194           0 : FUNCTION_PASS("print<domfrontier>", DominanceFrontierPrinterPass(dbgs()))
     195           2 : FUNCTION_PASS("print<loops>", LoopPrinterPass(dbgs()))
     196          40 : FUNCTION_PASS("print<memoryssa>", MemorySSAPrinterPass(dbgs()))
     197           2 : FUNCTION_PASS("print<regions>", RegionInfoPrinterPass(dbgs()))
     198           8 : FUNCTION_PASS("print<scalar-evolution>", ScalarEvolutionPrinterPass(dbgs()))
     199           1 : FUNCTION_PASS("reassociate", ReassociatePass())
     200           1 : FUNCTION_PASS("sccp", SCCPPass())
     201          11 : FUNCTION_PASS("simplify-cfg", SimplifyCFGPass())
     202           1 : FUNCTION_PASS("sink", SinkingPass())
     203           4 : FUNCTION_PASS("slp-vectorizer", SLPVectorizerPass())
     204           1 : FUNCTION_PASS("speculative-execution", SpeculativeExecutionPass())
     205           1 : FUNCTION_PASS("spec-phis", SpeculateAroundPHIsPass())
     206           5 : FUNCTION_PASS("sroa", SROA())
     207           3 : FUNCTION_PASS("tailcallelim", TailCallElimPass())
     208           1 : FUNCTION_PASS("unreachableblockelim", UnreachableBlockElimPass())
     209          18 : FUNCTION_PASS("unroll", LoopUnrollPass())
     210           1 : FUNCTION_PASS("verify", VerifierPass())
     211           3 : FUNCTION_PASS("verify<domtree>", DominatorTreeVerifierPass())
     212           7 : FUNCTION_PASS("verify<loops>", LoopVerifierPass())
     213          18 : FUNCTION_PASS("verify<memoryssa>", MemorySSAVerifierPass())
     214           0 : FUNCTION_PASS("verify<regions>", RegionInfoVerifierPass())
     215           0 : FUNCTION_PASS("view-cfg", CFGViewerPass())
     216           0 : FUNCTION_PASS("view-cfg-only", CFGOnlyViewerPass())
     217             : #undef FUNCTION_PASS
     218             : 
     219             : #ifndef LOOP_ANALYSIS
     220             : #define LOOP_ANALYSIS(NAME, CREATE_PASS)
     221             : #endif
     222         950 : LOOP_ANALYSIS("no-op-loop", NoOpLoopAnalysis())
     223         951 : LOOP_ANALYSIS("access-info", LoopAccessAnalysis())
     224         956 : LOOP_ANALYSIS("ivusers", IVUsersAnalysis())
     225             : #undef LOOP_ANALYSIS
     226             : 
     227             : #ifndef LOOP_PASS
     228             : #define LOOP_PASS(NAME, CREATE_PASS)
     229             : #endif
     230           0 : LOOP_PASS("invalidate<all>", InvalidateAllAnalysesPass())
     231          35 : LOOP_PASS("licm", LICMPass())
     232           1 : LOOP_PASS("loop-idiom", LoopIdiomRecognizePass())
     233           2 : LOOP_PASS("loop-instsimplify", LoopInstSimplifyPass())
     234           1 : LOOP_PASS("rotate", LoopRotatePass())
     235          20 : LOOP_PASS("no-op-loop", NoOpLoopPass())
     236           0 : LOOP_PASS("print", PrintLoopPass(dbgs()))
     237           4 : LOOP_PASS("loop-deletion", LoopDeletionPass())
     238           4 : LOOP_PASS("simplify-cfg", LoopSimplifyCFGPass())
     239           1 : LOOP_PASS("strength-reduce", LoopStrengthReducePass())
     240           3 : LOOP_PASS("indvars", IndVarSimplifyPass())
     241          26 : LOOP_PASS("irce", IRCEPass())
     242          15 : LOOP_PASS("unroll-full", LoopFullUnrollPass())
     243           6 : LOOP_PASS("unswitch", SimpleLoopUnswitchPass())
     244          48 : LOOP_PASS("print-access-info", LoopAccessInfoPrinterPass(dbgs()))
     245           4 : LOOP_PASS("print<ivusers>", IVUsersPrinterPass(dbgs()))
     246           5 : LOOP_PASS("loop-predication", LoopPredicationPass())
     247             : #undef LOOP_PASS

Generated by: LCOV version 1.13