1 //===- llvm/InitializePasses.h - Initialize All 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 contains the declarations for the pass initialization routines 11 // for the entire LLVM project. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #ifndef LLVM_INITIALIZEPASSES_H 16 #define LLVM_INITIALIZEPASSES_H 17 18 namespace llvm { 19 20 class PassRegistry; 21 22 /// Initialize all passes linked into the TransformUtils library. 23 void initializeCore(PassRegistry&); 24 25 /// Initialize all passes linked into the TransformUtils library. 26 void initializeTransformUtils(PassRegistry&); 27 28 /// Initialize all passes linked into the ScalarOpts library. 29 void initializeScalarOpts(PassRegistry&); 30 31 /// Initialize all passes linked into the ObjCARCOpts library. 32 void initializeObjCARCOpts(PassRegistry&); 33 34 /// Initialize all passes linked into the Vectorize library. 35 void initializeVectorization(PassRegistry&); 36 37 /// Initialize all passes linked into the InstCombine library. 38 void initializeInstCombine(PassRegistry&); 39 40 /// Initialize all passes linked into the IPO library. 41 void initializeIPO(PassRegistry&); 42 43 /// Initialize all passes linked into the Instrumentation library. 44 void initializeInstrumentation(PassRegistry&); 45 46 /// Initialize all passes linked into the Analysis library. 47 void initializeAnalysis(PassRegistry&); 48 49 /// Initialize all passes linked into the Coroutines library. 50 void initializeCoroutines(PassRegistry&); 51 52 /// Initialize all passes linked into the CodeGen library. 53 void initializeCodeGen(PassRegistry&); 54 55 /// Initialize all passes linked into the GlobalISel library. 56 void initializeGlobalISel(PassRegistry&); 57 58 /// Initialize all passes linked into the CodeGen library. 59 void initializeTarget(PassRegistry&); 60 61 void initializeAAEvalLegacyPassPass(PassRegistry&); 62 void initializeAAResultsWrapperPassPass(PassRegistry&); 63 void initializeADCELegacyPassPass(PassRegistry&); 64 void initializeAddDiscriminatorsLegacyPassPass(PassRegistry&); 65 void initializeAddressSanitizerModulePass(PassRegistry&); 66 void initializeAddressSanitizerPass(PassRegistry&); 67 void initializeAliasSetPrinterPass(PassRegistry&); 68 void initializeAlignmentFromAssumptionsPass(PassRegistry&); 69 void initializeAlwaysInlinerLegacyPassPass(PassRegistry&); 70 void initializeArgPromotionPass(PassRegistry&); 71 void initializeAssumptionCacheTrackerPass(PassRegistry&); 72 void initializeAtomicExpandPass(PassRegistry&); 73 void initializeBDCELegacyPassPass(PassRegistry&); 74 void initializeBarrierNoopPass(PassRegistry&); 75 void initializeBasicAAWrapperPassPass(PassRegistry&); 76 void initializeBlockExtractorPassPass(PassRegistry&); 77 void initializeBlockFrequencyInfoWrapperPassPass(PassRegistry&); 78 void initializeBoundsCheckingPass(PassRegistry&); 79 void initializeBranchFolderPassPass(PassRegistry&); 80 void initializeBranchProbabilityInfoWrapperPassPass(PassRegistry&); 81 void initializeBranchRelaxationPass(PassRegistry&); 82 void initializeBreakCriticalEdgesPass(PassRegistry&); 83 void initializeCFGOnlyPrinterLegacyPassPass(PassRegistry&); 84 void initializeCFGOnlyViewerLegacyPassPass(PassRegistry&); 85 void initializeCFGPrinterLegacyPassPass(PassRegistry&); 86 void initializeCFGSimplifyPassPass(PassRegistry&); 87 void initializeCFGViewerLegacyPassPass(PassRegistry&); 88 void initializeCFLAndersAAWrapperPassPass(PassRegistry&); 89 void initializeCFLSteensAAWrapperPassPass(PassRegistry&); 90 void initializeCallGraphDOTPrinterPass(PassRegistry&); 91 void initializeCallGraphPrinterLegacyPassPass(PassRegistry&); 92 void initializeCallGraphViewerPass(PassRegistry&); 93 void initializeCallGraphWrapperPassPass(PassRegistry&); 94 void initializeCodeGenPreparePass(PassRegistry&); 95 void initializeConstantHoistingLegacyPassPass(PassRegistry&); 96 void initializeConstantMergeLegacyPassPass(PassRegistry&); 97 void initializeConstantPropagationPass(PassRegistry&); 98 void initializeCorrelatedValuePropagationPass(PassRegistry&); 99 void initializeCostModelAnalysisPass(PassRegistry&); 100 void initializeCountingFunctionInserterPass(PassRegistry&); 101 void initializeCrossDSOCFIPass(PassRegistry&); 102 void initializeDAEPass(PassRegistry&); 103 void initializeDAHPass(PassRegistry&); 104 void initializeDCELegacyPassPass(PassRegistry&); 105 void initializeDSELegacyPassPass(PassRegistry&); 106 void initializeDataFlowSanitizerPass(PassRegistry&); 107 void initializeDeadInstEliminationPass(PassRegistry&); 108 void initializeDeadMachineInstructionElimPass(PassRegistry&); 109 void initializeDelinearizationPass(PassRegistry&); 110 void initializeDemandedBitsWrapperPassPass(PassRegistry&); 111 void initializeDependenceAnalysisPass(PassRegistry&); 112 void initializeDependenceAnalysisWrapperPassPass(PassRegistry&); 113 void initializeDetectDeadLanesPass(PassRegistry&); 114 void initializeDivergenceAnalysisPass(PassRegistry&); 115 void initializeDivRemPairsLegacyPassPass(PassRegistry&); 116 void initializeDomOnlyPrinterPass(PassRegistry&); 117 void initializeDomOnlyViewerPass(PassRegistry&); 118 void initializeDomPrinterPass(PassRegistry&); 119 void initializeDomViewerPass(PassRegistry&); 120 void initializeDominanceFrontierWrapperPassPass(PassRegistry&); 121 void initializeDominatorTreeWrapperPassPass(PassRegistry&); 122 void initializeDwarfEHPreparePass(PassRegistry&); 123 void initializeEarlyCSELegacyPassPass(PassRegistry&); 124 void initializeEarlyCSEMemSSALegacyPassPass(PassRegistry&); 125 void initializeEarlyIfConverterPass(PassRegistry&); 126 void initializeEdgeBundlesPass(PassRegistry&); 127 void initializeEfficiencySanitizerPass(PassRegistry&); 128 void initializeEliminateAvailableExternallyLegacyPassPass(PassRegistry&); 129 void initializeExpandISelPseudosPass(PassRegistry&); 130 void initializeExpandPostRAPass(PassRegistry&); 131 void initializeExpandReductionsPass(PassRegistry&); 132 void initializeExternalAAWrapperPassPass(PassRegistry&); 133 void initializeFEntryInserterPass(PassRegistry&); 134 void initializeFinalizeMachineBundlesPass(PassRegistry&); 135 void initializeFlattenCFGPassPass(PassRegistry&); 136 void initializeFloat2IntLegacyPassPass(PassRegistry&); 137 void initializeForceFunctionAttrsLegacyPassPass(PassRegistry&); 138 void initializeForwardControlFlowIntegrityPass(PassRegistry&); 139 void initializeFuncletLayoutPass(PassRegistry&); 140 void initializeFunctionImportLegacyPassPass(PassRegistry&); 141 void initializeGCMachineCodeAnalysisPass(PassRegistry&); 142 void initializeGCModuleInfoPass(PassRegistry&); 143 void initializeGCOVProfilerLegacyPassPass(PassRegistry&); 144 void initializeGVNHoistLegacyPassPass(PassRegistry&); 145 void initializeGVNLegacyPassPass(PassRegistry&); 146 void initializeGVNSinkLegacyPassPass(PassRegistry&); 147 void initializeGlobalDCELegacyPassPass(PassRegistry&); 148 void initializeGlobalMergePass(PassRegistry&); 149 void initializeGlobalOptLegacyPassPass(PassRegistry&); 150 void initializeGlobalSplitPass(PassRegistry&); 151 void initializeGlobalsAAWrapperPassPass(PassRegistry&); 152 void initializeGuardWideningLegacyPassPass(PassRegistry&); 153 void initializeIPCPPass(PassRegistry&); 154 void initializeIPSCCPLegacyPassPass(PassRegistry&); 155 void initializeIRTranslatorPass(PassRegistry&); 156 void initializeIVUsersWrapperPassPass(PassRegistry&); 157 void initializeIfConverterPass(PassRegistry&); 158 void initializeImplicitNullChecksPass(PassRegistry&); 159 void initializeIndVarSimplifyLegacyPassPass(PassRegistry&); 160 void initializeInductiveRangeCheckEliminationPass(PassRegistry&); 161 void initializeInferAddressSpacesPass(PassRegistry&); 162 void initializeInferFunctionAttrsLegacyPassPass(PassRegistry&); 163 void initializeInlineCostAnalysisPass(PassRegistry&); 164 void initializeInstCountPass(PassRegistry&); 165 void initializeInstNamerPass(PassRegistry&); 166 void initializeInstSimplifierPass(PassRegistry&); 167 void initializeInstrProfilingLegacyPassPass(PassRegistry&); 168 void initializeInstructionCombiningPassPass(PassRegistry&); 169 void initializeInstructionSelectPass(PassRegistry&); 170 void initializeInterleavedAccessPass(PassRegistry&); 171 void initializeInternalizeLegacyPassPass(PassRegistry&); 172 void initializeIntervalPartitionPass(PassRegistry&); 173 void initializeJumpThreadingPass(PassRegistry&); 174 void initializeLCSSAVerificationPassPass(PassRegistry&); 175 void initializeLCSSAWrapperPassPass(PassRegistry&); 176 void initializeLateCFGSimplifyPassPass(PassRegistry&); 177 void initializeLazyBlockFrequencyInfoPassPass(PassRegistry&); 178 void initializeLazyBranchProbabilityInfoPassPass(PassRegistry&); 179 void initializeLazyMachineBlockFrequencyInfoPassPass(PassRegistry&); 180 void initializeLazyValueInfoPrinterPass(PassRegistry&); 181 void initializeLazyValueInfoWrapperPassPass(PassRegistry&); 182 void initializeLegacyLICMPassPass(PassRegistry&); 183 void initializeLegacyLoopSinkPassPass(PassRegistry&); 184 void initializeLegalizerPass(PassRegistry&); 185 void initializeLibCallsShrinkWrapLegacyPassPass(PassRegistry&); 186 void initializeLintPass(PassRegistry&); 187 void initializeLiveDebugValuesPass(PassRegistry&); 188 void initializeLiveDebugVariablesPass(PassRegistry&); 189 void initializeLiveIntervalsPass(PassRegistry&); 190 void initializeLiveRangeShrinkPass(PassRegistry&); 191 void initializeLiveRegMatrixPass(PassRegistry&); 192 void initializeLiveStacksPass(PassRegistry&); 193 void initializeLiveVariablesPass(PassRegistry&); 194 void initializeLoadStoreVectorizerPass(PassRegistry&); 195 void initializeLoaderPassPass(PassRegistry&); 196 void initializeLocalStackSlotPassPass(PassRegistry&); 197 void initializeLocalizerPass(PassRegistry&); 198 void initializeLoopAccessLegacyAnalysisPass(PassRegistry&); 199 void initializeLoopDataPrefetchLegacyPassPass(PassRegistry&); 200 void initializeLoopDeletionLegacyPassPass(PassRegistry&); 201 void initializeLoopDistributeLegacyPass(PassRegistry&); 202 void initializeLoopExtractorPass(PassRegistry&); 203 void initializeLoopIdiomRecognizeLegacyPassPass(PassRegistry&); 204 void initializeLoopInfoWrapperPassPass(PassRegistry&); 205 void initializeLoopInstSimplifyLegacyPassPass(PassRegistry&); 206 void initializeLoopInterchangePass(PassRegistry&); 207 void initializeLoopLoadEliminationPass(PassRegistry&); 208 void initializeLoopPassPass(PassRegistry&); 209 void initializeLoopPredicationLegacyPassPass(PassRegistry&); 210 void initializeLoopRerollPass(PassRegistry&); 211 void initializeLoopRotateLegacyPassPass(PassRegistry&); 212 void initializeLoopSimplifyCFGLegacyPassPass(PassRegistry&); 213 void initializeLoopSimplifyPass(PassRegistry&); 214 void initializeLoopStrengthReducePass(PassRegistry&); 215 void initializeLoopUnrollPass(PassRegistry&); 216 void initializeLoopUnswitchPass(PassRegistry&); 217 void initializeLoopVectorizePass(PassRegistry&); 218 void initializeLoopVersioningLICMPass(PassRegistry&); 219 void initializeLoopVersioningPassPass(PassRegistry&); 220 void initializeLowerAtomicLegacyPassPass(PassRegistry&); 221 void initializeLowerEmuTLSPass(PassRegistry&); 222 void initializeLowerExpectIntrinsicPass(PassRegistry&); 223 void initializeLowerGuardIntrinsicLegacyPassPass(PassRegistry&); 224 void initializeLowerIntrinsicsPass(PassRegistry&); 225 void initializeLowerInvokeLegacyPassPass(PassRegistry&); 226 void initializeLowerSwitchPass(PassRegistry&); 227 void initializeLowerTypeTestsPass(PassRegistry&); 228 void initializeMIRPrintingPassPass(PassRegistry&); 229 void initializeMachineBlockFrequencyInfoPass(PassRegistry&); 230 void initializeMachineBlockPlacementPass(PassRegistry&); 231 void initializeMachineBlockPlacementStatsPass(PassRegistry&); 232 void initializeMachineBranchProbabilityInfoPass(PassRegistry&); 233 void initializeMachineCSEPass(PassRegistry&); 234 void initializeMachineCombinerPass(PassRegistry&); 235 void initializeMachineCopyPropagationPass(PassRegistry&); 236 void initializeMachineDominanceFrontierPass(PassRegistry&); 237 void initializeMachineDominatorTreePass(PassRegistry&); 238 void initializeMachineFunctionPrinterPassPass(PassRegistry&); 239 void initializeMachineLICMPass(PassRegistry&); 240 void initializeMachineLoopInfoPass(PassRegistry&); 241 void initializeMachineModuleInfoPass(PassRegistry&); 242 void initializeMachineOptimizationRemarkEmitterPassPass(PassRegistry&); 243 void initializeMachineOutlinerPass(PassRegistry&); 244 void initializeMachinePipelinerPass(PassRegistry&); 245 void initializeMachinePostDominatorTreePass(PassRegistry&); 246 void initializeMachineRegionInfoPassPass(PassRegistry&); 247 void initializeMachineSchedulerPass(PassRegistry&); 248 void initializeMachineSinkingPass(PassRegistry&); 249 void initializeMachineTraceMetricsPass(PassRegistry&); 250 void initializeMachineVerifierPassPass(PassRegistry&); 251 void initializeMemCpyOptLegacyPassPass(PassRegistry&); 252 void initializeMemDepPrinterPass(PassRegistry&); 253 void initializeMemDerefPrinterPass(PassRegistry&); 254 void initializeMemoryDependenceWrapperPassPass(PassRegistry&); 255 void initializeMemorySSAPrinterLegacyPassPass(PassRegistry&); 256 void initializeMemorySSAWrapperPassPass(PassRegistry&); 257 void initializeMemorySanitizerPass(PassRegistry&); 258 void initializeMergeFunctionsPass(PassRegistry&); 259 void initializeMergeICmpsPass(PassRegistry&); 260 void initializeMergedLoadStoreMotionLegacyPassPass(PassRegistry&); 261 void initializeMetaRenamerPass(PassRegistry&); 262 void initializeModuleDebugInfoPrinterPass(PassRegistry&); 263 void initializeModuleSummaryIndexWrapperPassPass(PassRegistry&); 264 void initializeNameAnonGlobalLegacyPassPass(PassRegistry&); 265 void initializeNaryReassociateLegacyPassPass(PassRegistry&); 266 void initializeNewGVNLegacyPassPass(PassRegistry&); 267 void initializeObjCARCAAWrapperPassPass(PassRegistry&); 268 void initializeObjCARCAPElimPass(PassRegistry&); 269 void initializeObjCARCContractPass(PassRegistry&); 270 void initializeObjCARCExpandPass(PassRegistry&); 271 void initializeObjCARCOptPass(PassRegistry&); 272 void initializeOptimizationRemarkEmitterWrapperPassPass(PassRegistry&); 273 void initializeOptimizePHIsPass(PassRegistry&); 274 void initializePAEvalPass(PassRegistry&); 275 void initializePEIPass(PassRegistry&); 276 void initializePGOIndirectCallPromotionLegacyPassPass(PassRegistry&); 277 void initializePGOInstrumentationGenLegacyPassPass(PassRegistry&); 278 void initializePGOInstrumentationUseLegacyPassPass(PassRegistry&); 279 void initializePGOMemOPSizeOptLegacyPassPass(PassRegistry&); 280 void initializePHIEliminationPass(PassRegistry&); 281 void initializePartialInlinerLegacyPassPass(PassRegistry&); 282 void initializePartiallyInlineLibCallsLegacyPassPass(PassRegistry&); 283 void initializePatchableFunctionPass(PassRegistry&); 284 void initializePeepholeOptimizerPass(PassRegistry&); 285 void initializePhysicalRegisterUsageInfoPass(PassRegistry&); 286 void initializePlaceBackedgeSafepointsImplPass(PassRegistry&); 287 void initializePlaceSafepointsPass(PassRegistry&); 288 void initializePostDomOnlyPrinterPass(PassRegistry&); 289 void initializePostDomOnlyViewerPass(PassRegistry&); 290 void initializePostDomPrinterPass(PassRegistry&); 291 void initializePostDomViewerPass(PassRegistry&); 292 void initializePostDominatorTreeWrapperPassPass(PassRegistry&); 293 void initializePostMachineSchedulerPass(PassRegistry&); 294 void initializePostOrderFunctionAttrsLegacyPassPass(PassRegistry&); 295 void initializePostRAHazardRecognizerPass(PassRegistry&); 296 void initializePostRASchedulerPass(PassRegistry&); 297 void initializePreISelIntrinsicLoweringLegacyPassPass(PassRegistry&); 298 void initializePredicateInfoPrinterLegacyPassPass(PassRegistry&); 299 void initializePrintBasicBlockPassPass(PassRegistry&); 300 void initializePrintFunctionPassWrapperPass(PassRegistry&); 301 void initializePrintModulePassWrapperPass(PassRegistry&); 302 void initializeProcessImplicitDefsPass(PassRegistry&); 303 void initializeProfileSummaryInfoWrapperPassPass(PassRegistry&); 304 void initializePromoteLegacyPassPass(PassRegistry&); 305 void initializePruneEHPass(PassRegistry&); 306 void initializeRABasicPass(PassRegistry&); 307 void initializeRegAllocFastPass(PassRegistry&); 308 void initializeRAGreedyPass(PassRegistry&); 309 void initializeReassociateLegacyPassPass(PassRegistry&); 310 void initializeRegBankSelectPass(PassRegistry&); 311 void initializeRegToMemPass(PassRegistry&); 312 void initializeRegionInfoPassPass(PassRegistry&); 313 void initializeRegionOnlyPrinterPass(PassRegistry&); 314 void initializeRegionOnlyViewerPass(PassRegistry&); 315 void initializeRegionPrinterPass(PassRegistry&); 316 void initializeRegionViewerPass(PassRegistry&); 317 void initializeRegisterCoalescerPass(PassRegistry&); 318 void initializeRenameIndependentSubregsPass(PassRegistry&); 319 void initializeResetMachineFunctionPass(PassRegistry&); 320 void initializeReversePostOrderFunctionAttrsLegacyPassPass(PassRegistry&); 321 void initializeRewriteStatepointsForGCPass(PassRegistry&); 322 void initializeRewriteSymbolsLegacyPassPass(PassRegistry&); 323 void initializeSafepointIRVerifierPass(PassRegistry&); 324 void initializeSCCPLegacyPassPass(PassRegistry&); 325 void initializeSCEVAAWrapperPassPass(PassRegistry&); 326 void initializeSLPVectorizerPass(PassRegistry&); 327 void initializeSROALegacyPassPass(PassRegistry&); 328 void initializeSafeStackLegacyPassPass(PassRegistry&); 329 void initializeSampleProfileLoaderLegacyPassPass(PassRegistry&); 330 void initializeSanitizerCoverageModulePass(PassRegistry&); 331 void initializeScalarEvolutionWrapperPassPass(PassRegistry&); 332 void initializeScalarizeMaskedMemIntrinPass(PassRegistry&); 333 void initializeScalarizerPass(PassRegistry&); 334 void initializeScavengerTestPass(PassRegistry&); 335 void initializeScopedNoAliasAAWrapperPassPass(PassRegistry&); 336 void initializeSeparateConstOffsetFromGEPPass(PassRegistry&); 337 void initializeShadowStackGCLoweringPass(PassRegistry&); 338 void initializeShrinkWrapPass(PassRegistry&); 339 void initializeSimpleInlinerPass(PassRegistry&); 340 void initializeSimpleLoopUnswitchLegacyPassPass(PassRegistry&); 341 void initializeSingleLoopExtractorPass(PassRegistry&); 342 void initializeSinkingLegacyPassPass(PassRegistry&); 343 void initializeSjLjEHPreparePass(PassRegistry&); 344 void initializeSlotIndexesPass(PassRegistry&); 345 void initializeSpeculativeExecutionLegacyPassPass(PassRegistry&); 346 void initializeSpillPlacementPass(PassRegistry&); 347 void initializeStackColoringPass(PassRegistry&); 348 void initializeStackMapLivenessPass(PassRegistry&); 349 void initializeStackProtectorPass(PassRegistry&); 350 void initializeStackSlotColoringPass(PassRegistry&); 351 void initializeStraightLineStrengthReducePass(PassRegistry&); 352 void initializeStripDeadDebugInfoPass(PassRegistry&); 353 void initializeStripDeadPrototypesLegacyPassPass(PassRegistry&); 354 void initializeStripDebugDeclarePass(PassRegistry&); 355 void initializeStripGCRelocatesPass(PassRegistry&); 356 void initializeStripNonDebugSymbolsPass(PassRegistry&); 357 void initializeStripNonLineTableDebugInfoPass(PassRegistry&); 358 void initializeStripSymbolsPass(PassRegistry&); 359 void initializeStructurizeCFGPass(PassRegistry&); 360 void initializeTailCallElimPass(PassRegistry&); 361 void initializeTailDuplicatePassPass(PassRegistry&); 362 void initializeTargetLibraryInfoWrapperPassPass(PassRegistry&); 363 void initializeTargetPassConfigPass(PassRegistry&); 364 void initializeTargetTransformInfoWrapperPassPass(PassRegistry&); 365 void initializeThreadSanitizerPass(PassRegistry&); 366 void initializeTwoAddressInstructionPassPass(PassRegistry&); 367 void initializeTypeBasedAAWrapperPassPass(PassRegistry&); 368 void initializeUnifyFunctionExitNodesPass(PassRegistry&); 369 void initializeUnpackMachineBundlesPass(PassRegistry&); 370 void initializeUnreachableBlockElimLegacyPassPass(PassRegistry&); 371 void initializeUnreachableMachineBlockElimPass(PassRegistry&); 372 void initializeVerifierLegacyPassPass(PassRegistry&); 373 void initializeVirtRegMapPass(PassRegistry&); 374 void initializeVirtRegRewriterPass(PassRegistry&); 375 void initializeWholeProgramDevirtPass(PassRegistry&); 376 void initializeWinEHPreparePass(PassRegistry&); 377 void initializeWriteBitcodePassPass(PassRegistry&); 378 void initializeWriteThinLTOBitcodePass(PassRegistry&); 379 void initializeXRayInstrumentationPass(PassRegistry&); 380 381 } // end namespace llvm 382 383 #endif // LLVM_INITIALIZEPASSES_H 384