LCOV - code coverage report
Current view: top level - lib/Passes - PassRegistry.def (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 166 180 92.2 %
Date: 2018-07-13 00:08:38 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         962 : MODULE_ANALYSIS("callgraph", CallGraphAnalysis())
      23         961 : MODULE_ANALYSIS("lcg", LazyCallGraphAnalysis())
      24         961 : MODULE_ANALYSIS("module-summary", ModuleSummaryIndexAnalysis())
      25         977 : MODULE_ANALYSIS("no-op-module", NoOpModuleAnalysis())
      26         972 : MODULE_ANALYSIS("profile-summary", ProfileSummaryAnalysis())
      27         963 : MODULE_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
      28         961 : 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         971 : 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         967 : CGSCC_ANALYSIS("no-op-cgscc", NoOpCGSCCAnalysis())
      85         957 : 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         210 : 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        1039 : FUNCTION_ANALYSIS("aa", AAManager())
     102         962 : FUNCTION_ANALYSIS("assumptions", AssumptionAnalysis())
     103         964 : FUNCTION_ANALYSIS("block-freq", BlockFrequencyAnalysis())
     104         988 : FUNCTION_ANALYSIS("branch-prob", BranchProbabilityAnalysis())
     105         978 : FUNCTION_ANALYSIS("domtree", DominatorTreeAnalysis())
     106         962 : FUNCTION_ANALYSIS("postdomtree", PostDominatorTreeAnalysis())
     107         961 : FUNCTION_ANALYSIS("demanded-bits", DemandedBitsAnalysis())
     108         961 : FUNCTION_ANALYSIS("domfrontier", DominanceFrontierAnalysis())
     109         965 : FUNCTION_ANALYSIS("loops", LoopAnalysis())
     110         966 : FUNCTION_ANALYSIS("lazy-value-info", LazyValueAnalysis())
     111         961 : FUNCTION_ANALYSIS("da", DependenceAnalysis())
     112         965 : FUNCTION_ANALYSIS("memdep", MemoryDependenceAnalysis())
     113         961 : FUNCTION_ANALYSIS("memoryssa", MemorySSAAnalysis())
     114         961 : FUNCTION_ANALYSIS("phi-values", PhiValuesAnalysis())
     115         961 : FUNCTION_ANALYSIS("regions", RegionInfoAnalysis())
     116         973 : FUNCTION_ANALYSIS("no-op-function", NoOpFunctionAnalysis())
     117        1033 : FUNCTION_ANALYSIS("opt-remark-emit", OptimizationRemarkEmitterAnalysis())
     118        1019 : FUNCTION_ANALYSIS("scalar-evolution", ScalarEvolutionAnalysis())
     119         961 : FUNCTION_ANALYSIS("targetlibinfo", TargetLibraryAnalysis())
     120        1951 : FUNCTION_ANALYSIS("targetir",
     121             :                   TM ? TM->getTargetIRAnalysis() : TargetIRAnalysis())
     122         961 : FUNCTION_ANALYSIS("verify", VerifierAnalysis())
     123             : 
     124             : #ifndef FUNCTION_ALIAS_ANALYSIS
     125             : #define FUNCTION_ALIAS_ANALYSIS(NAME, CREATE_PASS)                             \
     126             :   FUNCTION_ANALYSIS(NAME, CREATE_PASS)
     127             : #endif
     128        1058 : FUNCTION_ALIAS_ANALYSIS("basic-aa", BasicAA())
     129         980 : FUNCTION_ALIAS_ANALYSIS("cfl-anders-aa", CFLAndersAA())
     130         978 : FUNCTION_ALIAS_ANALYSIS("cfl-steens-aa", CFLSteensAA())
     131         962 : FUNCTION_ALIAS_ANALYSIS("scev-aa", SCEVAA())
     132         962 : FUNCTION_ALIAS_ANALYSIS("scoped-noalias-aa", ScopedNoAliasAA())
     133         966 : FUNCTION_ALIAS_ANALYSIS("type-based-aa", TypeBasedAA())
     134             : #undef FUNCTION_ALIAS_ANALYSIS
     135             : #undef FUNCTION_ANALYSIS
     136             : 
     137             : #ifndef FUNCTION_PASS
     138             : #define FUNCTION_PASS(NAME, CREATE_PASS)
     139             : #endif
     140          44 : FUNCTION_PASS("aa-eval", AAEvaluator())
     141           4 : FUNCTION_PASS("adce", ADCEPass())
     142           9 : FUNCTION_PASS("add-discriminators", AddDiscriminatorsPass())
     143           3 : FUNCTION_PASS("aggressive-instcombine", AggressiveInstCombinePass())
     144           3 : FUNCTION_PASS("alignment-from-assumptions", AlignmentFromAssumptionsPass())
     145           3 : FUNCTION_PASS("bdce", BDCEPass())
     146           1 : FUNCTION_PASS("bounds-checking", BoundsCheckingPass())
     147           2 : FUNCTION_PASS("break-crit-edges", BreakCriticalEdgesPass())
     148           4 : FUNCTION_PASS("callsite-splitting", CallSiteSplittingPass())
     149           2 : FUNCTION_PASS("consthoist", ConstantHoistingPass())
     150           3 : FUNCTION_PASS("correlated-propagation", CorrelatedValuePropagationPass())
     151           2 : FUNCTION_PASS("dce", DCEPass())
     152           0 : FUNCTION_PASS("div-rem-pairs", DivRemPairsPass())
     153           2 : FUNCTION_PASS("dse", DSEPass())
     154           0 : FUNCTION_PASS("dot-cfg", CFGPrinterPass())
     155           1 : FUNCTION_PASS("dot-cfg-only", CFGOnlyPrinterPass())
     156           4 : FUNCTION_PASS("early-cse", EarlyCSEPass(/*UseMemorySSA=*/false))
     157           2 : FUNCTION_PASS("early-cse-memssa", EarlyCSEPass(/*UseMemorySSA=*/true))
     158           4 : FUNCTION_PASS("ee-instrument", EntryExitInstrumenterPass(/*PostInlining=*/false))
     159           4 : FUNCTION_PASS("post-inline-ee-instrument", EntryExitInstrumenterPass(/*PostInlining=*/true))
     160           0 : FUNCTION_PASS("gvn-hoist", GVNHoistPass())
     161          54 : FUNCTION_PASS("instcombine", InstCombinePass())
     162           1 : FUNCTION_PASS("instsimplify", InstSimplifyPass())
     163           4 : FUNCTION_PASS("invalidate<all>", InvalidateAllAnalysesPass())
     164           1 : FUNCTION_PASS("float2int", Float2IntPass())
     165          27 : FUNCTION_PASS("no-op-function", NoOpFunctionPass())
     166           3 : FUNCTION_PASS("libcalls-shrinkwrap", LibCallsShrinkWrapPass())
     167           5 : FUNCTION_PASS("loweratomic", LowerAtomicPass())
     168           6 : FUNCTION_PASS("lower-expect", LowerExpectIntrinsicPass())
     169           1 : FUNCTION_PASS("lower-guard-intrinsic", LowerGuardIntrinsicPass())
     170           1 : FUNCTION_PASS("guard-widening", GuardWideningPass())
     171          15 : FUNCTION_PASS("gvn", GVN())
     172           4 : FUNCTION_PASS("loop-simplify", LoopSimplifyPass())
     173           2 : FUNCTION_PASS("loop-sink", LoopSinkPass())
     174           1 : FUNCTION_PASS("lowerinvoke", LowerInvokePass())
     175           1 : FUNCTION_PASS("mem2reg", PromotePass())
     176           2 : FUNCTION_PASS("memcpyopt", MemCpyOptPass())
     177           1 : FUNCTION_PASS("mldst-motion", MergedLoadStoreMotionPass())
     178          15 : FUNCTION_PASS("nary-reassociate", NaryReassociatePass())
     179           2 : FUNCTION_PASS("newgvn", NewGVNPass())
     180           5 : FUNCTION_PASS("jump-threading", JumpThreadingPass())
     181           3 : FUNCTION_PASS("partially-inline-libcalls", PartiallyInlineLibCallsPass())
     182           7 : FUNCTION_PASS("lcssa", LCSSAPass())
     183           8 : FUNCTION_PASS("loop-data-prefetch", LoopDataPrefetchPass())
     184           2 : FUNCTION_PASS("loop-load-elim", LoopLoadEliminationPass())
     185           2 : FUNCTION_PASS("loop-distribute", LoopDistributePass())
     186          10 : FUNCTION_PASS("loop-vectorize", LoopVectorizePass())
     187           3 : FUNCTION_PASS("pgo-memop-opt", PGOMemOPSizeOpt())
     188           6 : FUNCTION_PASS("print", PrintFunctionPass(dbgs()))
     189           2 : FUNCTION_PASS("print<assumptions>", AssumptionPrinterPass(dbgs()))
     190          26 : FUNCTION_PASS("print<block-freq>", BlockFrequencyPrinterPass(dbgs()))
     191          14 : FUNCTION_PASS("print<branch-prob>", BranchProbabilityPrinterPass(dbgs()))
     192           2 : FUNCTION_PASS("print<domtree>", DominatorTreePrinterPass(dbgs()))
     193           5 : FUNCTION_PASS("print<postdomtree>", PostDominatorTreePrinterPass(dbgs()))
     194           4 : FUNCTION_PASS("print<demanded-bits>", DemandedBitsPrinterPass(dbgs()))
     195           0 : FUNCTION_PASS("print<domfrontier>", DominanceFrontierPrinterPass(dbgs()))
     196           2 : FUNCTION_PASS("print<loops>", LoopPrinterPass(dbgs()))
     197          40 : FUNCTION_PASS("print<memoryssa>", MemorySSAPrinterPass(dbgs()))
     198           6 : FUNCTION_PASS("print<phi-values>", PhiValuesPrinterPass(dbgs()))
     199           2 : FUNCTION_PASS("print<regions>", RegionInfoPrinterPass(dbgs()))
     200          12 : FUNCTION_PASS("print<scalar-evolution>", ScalarEvolutionPrinterPass(dbgs()))
     201           1 : FUNCTION_PASS("reassociate", ReassociatePass())
     202           2 : FUNCTION_PASS("sccp", SCCPPass())
     203          11 : FUNCTION_PASS("simplify-cfg", SimplifyCFGPass())
     204           1 : FUNCTION_PASS("sink", SinkingPass())
     205           4 : FUNCTION_PASS("slp-vectorizer", SLPVectorizerPass())
     206           1 : FUNCTION_PASS("speculative-execution", SpeculativeExecutionPass())
     207           1 : FUNCTION_PASS("spec-phis", SpeculateAroundPHIsPass())
     208           5 : FUNCTION_PASS("sroa", SROA())
     209           3 : FUNCTION_PASS("tailcallelim", TailCallElimPass())
     210           1 : FUNCTION_PASS("unreachableblockelim", UnreachableBlockElimPass())
     211          18 : FUNCTION_PASS("unroll", LoopUnrollPass())
     212           1 : FUNCTION_PASS("verify", VerifierPass())
     213           3 : FUNCTION_PASS("verify<domtree>", DominatorTreeVerifierPass())
     214           7 : FUNCTION_PASS("verify<loops>", LoopVerifierPass())
     215          18 : FUNCTION_PASS("verify<memoryssa>", MemorySSAVerifierPass())
     216           0 : FUNCTION_PASS("verify<regions>", RegionInfoVerifierPass())
     217           0 : FUNCTION_PASS("view-cfg", CFGViewerPass())
     218           0 : FUNCTION_PASS("view-cfg-only", CFGOnlyViewerPass())
     219             : #undef FUNCTION_PASS
     220             : 
     221             : #ifndef LOOP_ANALYSIS
     222             : #define LOOP_ANALYSIS(NAME, CREATE_PASS)
     223             : #endif
     224         957 : LOOP_ANALYSIS("no-op-loop", NoOpLoopAnalysis())
     225         958 : LOOP_ANALYSIS("access-info", LoopAccessAnalysis())
     226         963 : LOOP_ANALYSIS("ivusers", IVUsersAnalysis())
     227             : #undef LOOP_ANALYSIS
     228             : 
     229             : #ifndef LOOP_PASS
     230             : #define LOOP_PASS(NAME, CREATE_PASS)
     231             : #endif
     232           0 : LOOP_PASS("invalidate<all>", InvalidateAllAnalysesPass())
     233          35 : LOOP_PASS("licm", LICMPass())
     234           1 : LOOP_PASS("loop-idiom", LoopIdiomRecognizePass())
     235           3 : LOOP_PASS("loop-instsimplify", LoopInstSimplifyPass())
     236           1 : LOOP_PASS("rotate", LoopRotatePass())
     237          20 : LOOP_PASS("no-op-loop", NoOpLoopPass())
     238           0 : LOOP_PASS("print", PrintLoopPass(dbgs()))
     239           4 : LOOP_PASS("loop-deletion", LoopDeletionPass())
     240           4 : LOOP_PASS("simplify-cfg", LoopSimplifyCFGPass())
     241           1 : LOOP_PASS("strength-reduce", LoopStrengthReducePass())
     242           3 : LOOP_PASS("indvars", IndVarSimplifyPass())
     243          26 : LOOP_PASS("irce", IRCEPass())
     244           0 : LOOP_PASS("unroll-and-jam", LoopUnrollAndJamPass())
     245          15 : LOOP_PASS("unroll-full", LoopFullUnrollPass())
     246           7 : LOOP_PASS("unswitch", SimpleLoopUnswitchPass())
     247          48 : LOOP_PASS("print-access-info", LoopAccessInfoPrinterPass(dbgs()))
     248           4 : LOOP_PASS("print<ivusers>", IVUsersPrinterPass(dbgs()))
     249           5 : LOOP_PASS("loop-predication", LoopPredicationPass())
     250             : #undef LOOP_PASS

Generated by: LCOV version 1.13