1 //===- llvm/InitializePasses.h - Initialize All Passes ----------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file contains the declarations for the pass initialization routines 10 // for the entire LLVM project. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_INITIALIZEPASSES_H 15 #define LLVM_INITIALIZEPASSES_H 16 17 namespace llvm { 18 19 class PassRegistry; 20 21 /// Initialize all passes linked into the Core library. 22 void initializeCore(PassRegistry&); 23 24 /// Initialize all passes linked into the TransformUtils library. 25 void initializeTransformUtils(PassRegistry&); 26 27 /// Initialize all passes linked into the ScalarOpts library. 28 void initializeScalarOpts(PassRegistry&); 29 30 /// Initialize all passes linked into the Vectorize library. 31 void initializeVectorization(PassRegistry&); 32 33 /// Initialize all passes linked into the InstCombine library. 34 void initializeInstCombine(PassRegistry&); 35 36 /// Initialize all passes linked into the IPO library. 37 void initializeIPO(PassRegistry&); 38 39 /// Initialize all passes linked into the Analysis library. 40 void initializeAnalysis(PassRegistry&); 41 42 /// Initialize all passes linked into the CodeGen library. 43 void initializeCodeGen(PassRegistry&); 44 45 /// Initialize all passes linked into the GlobalISel library. 46 void initializeGlobalISel(PassRegistry&); 47 48 /// Initialize all passes linked into the CodeGen library. 49 void initializeTarget(PassRegistry&); 50 51 void initializeAAResultsWrapperPassPass(PassRegistry&); 52 void initializeAlwaysInlinerLegacyPassPass(PassRegistry&); 53 void initializeAssignmentTrackingAnalysisPass(PassRegistry &); 54 void initializeAssumptionCacheTrackerPass(PassRegistry&); 55 void initializeAtomicExpandLegacyPass(PassRegistry &); 56 void initializeBasicBlockPathCloningPass(PassRegistry &); 57 void initializeBasicBlockSectionsProfileReaderWrapperPassPass(PassRegistry &); 58 void initializeBasicBlockSectionsPass(PassRegistry &); 59 void initializeBarrierNoopPass(PassRegistry&); 60 void initializeBasicAAWrapperPassPass(PassRegistry&); 61 void initializeBlockFrequencyInfoWrapperPassPass(PassRegistry&); 62 void initializeBranchFolderPassPass(PassRegistry&); 63 void initializeBranchProbabilityInfoWrapperPassPass(PassRegistry&); 64 void initializeBranchRelaxationPass(PassRegistry&); 65 void initializeBreakCriticalEdgesPass(PassRegistry&); 66 void initializeBreakFalseDepsPass(PassRegistry&); 67 void initializeCanonicalizeFreezeInLoopsPass(PassRegistry &); 68 void initializeCFGSimplifyPassPass(PassRegistry&); 69 void initializeCFGuardPass(PassRegistry&); 70 void initializeCFGuardLongjmpPass(PassRegistry&); 71 void initializeCFIFixupPass(PassRegistry&); 72 void initializeCFIInstrInserterPass(PassRegistry&); 73 void initializeCallBrPreparePass(PassRegistry &); 74 void initializeCallGraphDOTPrinterPass(PassRegistry&); 75 void initializeCallGraphViewerPass(PassRegistry&); 76 void initializeCallGraphWrapperPassPass(PassRegistry&); 77 void initializeCheckDebugMachineModulePass(PassRegistry &); 78 void initializeCodeGenPrepareLegacyPassPass(PassRegistry &); 79 void initializeComplexDeinterleavingLegacyPassPass(PassRegistry&); 80 void initializeConstantHoistingLegacyPassPass(PassRegistry&); 81 void initializeCycleInfoWrapperPassPass(PassRegistry &); 82 void initializeDAEPass(PassRegistry&); 83 void initializeDAHPass(PassRegistry&); 84 void initializeDCELegacyPassPass(PassRegistry&); 85 void initializeDeadMachineInstructionElimPass(PassRegistry&); 86 void initializeDebugifyMachineModulePass(PassRegistry &); 87 void initializeDependenceAnalysisWrapperPassPass(PassRegistry&); 88 void initializeDetectDeadLanesPass(PassRegistry&); 89 void initializeDomOnlyPrinterWrapperPassPass(PassRegistry &); 90 void initializeDomOnlyViewerWrapperPassPass(PassRegistry &); 91 void initializeDomPrinterWrapperPassPass(PassRegistry &); 92 void initializeDomViewerWrapperPassPass(PassRegistry &); 93 void initializeDominanceFrontierWrapperPassPass(PassRegistry&); 94 void initializeDominatorTreeWrapperPassPass(PassRegistry&); 95 void initializeDwarfEHPrepareLegacyPassPass(PassRegistry &); 96 void initializeEarlyCSELegacyPassPass(PassRegistry&); 97 void initializeEarlyCSEMemSSALegacyPassPass(PassRegistry&); 98 void initializeEarlyIfConverterPass(PassRegistry&); 99 void initializeEarlyIfPredicatorPass(PassRegistry &); 100 void initializeEarlyMachineLICMPass(PassRegistry&); 101 void initializeEarlyTailDuplicatePass(PassRegistry&); 102 void initializeEdgeBundlesPass(PassRegistry&); 103 void initializeEHContGuardCatchretPass(PassRegistry &); 104 void initializeExpandLargeFpConvertLegacyPassPass(PassRegistry&); 105 void initializeExpandLargeDivRemLegacyPassPass(PassRegistry&); 106 void initializeExpandMemCmpLegacyPassPass(PassRegistry &); 107 void initializeExpandPostRAPass(PassRegistry&); 108 void initializeExpandReductionsPass(PassRegistry&); 109 void initializeExpandVectorPredicationPass(PassRegistry &); 110 void initializeExternalAAWrapperPassPass(PassRegistry&); 111 void initializeFEntryInserterPass(PassRegistry&); 112 void initializeFinalizeISelPass(PassRegistry&); 113 void initializeFinalizeMachineBundlesPass(PassRegistry&); 114 void initializeFixIrreduciblePass(PassRegistry &); 115 void initializeFixupStatepointCallerSavedPass(PassRegistry&); 116 void initializeFlattenCFGLegacyPassPass(PassRegistry &); 117 void initializeFuncletLayoutPass(PassRegistry&); 118 void initializeGCEmptyBasicBlocksPass(PassRegistry &); 119 void initializeGCMachineCodeAnalysisPass(PassRegistry&); 120 void initializeGCModuleInfoPass(PassRegistry&); 121 void initializeGVNLegacyPassPass(PassRegistry&); 122 void initializeGlobalMergePass(PassRegistry&); 123 void initializeGlobalsAAWrapperPassPass(PassRegistry &); 124 void initializeHardwareLoopsLegacyPass(PassRegistry&); 125 void initializeMIRProfileLoaderPassPass(PassRegistry &); 126 void initializeIRSimilarityIdentifierWrapperPassPass(PassRegistry&); 127 void initializeIRTranslatorPass(PassRegistry&); 128 void initializeIVUsersWrapperPassPass(PassRegistry&); 129 void initializeIfConverterPass(PassRegistry&); 130 void initializeImmutableModuleSummaryIndexWrapperPassPass(PassRegistry&); 131 void initializeImplicitNullChecksPass(PassRegistry&); 132 void initializeIndirectBrExpandLegacyPassPass(PassRegistry &); 133 void initializeInferAddressSpacesPass(PassRegistry&); 134 void initializeInstSimplifyLegacyPassPass(PassRegistry &); 135 void initializeInstructionCombiningPassPass(PassRegistry&); 136 void initializeInstructionSelectPass(PassRegistry&); 137 void initializeInterleavedAccessPass(PassRegistry&); 138 void initializeInterleavedLoadCombinePass(PassRegistry &); 139 void initializeIntervalPartitionPass(PassRegistry&); 140 void initializeJMCInstrumenterPass(PassRegistry&); 141 void initializeKCFIPass(PassRegistry &); 142 void initializeLCSSAVerificationPassPass(PassRegistry&); 143 void initializeLCSSAWrapperPassPass(PassRegistry&); 144 void initializeLazyBlockFrequencyInfoPassPass(PassRegistry&); 145 void initializeLazyBranchProbabilityInfoPassPass(PassRegistry&); 146 void initializeLazyMachineBlockFrequencyInfoPassPass(PassRegistry&); 147 void initializeLazyValueInfoWrapperPassPass(PassRegistry&); 148 void initializeLegacyLICMPassPass(PassRegistry&); 149 void initializeLegalizerPass(PassRegistry&); 150 void initializeGISelCSEAnalysisWrapperPassPass(PassRegistry &); 151 void initializeGISelKnownBitsAnalysisPass(PassRegistry &); 152 void initializeLiveDebugValuesPass(PassRegistry&); 153 void initializeLiveDebugVariablesPass(PassRegistry&); 154 void initializeLiveIntervalsPass(PassRegistry&); 155 void initializeLiveRangeShrinkPass(PassRegistry&); 156 void initializeLiveRegMatrixPass(PassRegistry&); 157 void initializeLiveStacksPass(PassRegistry&); 158 void initializeLiveVariablesPass(PassRegistry &); 159 void initializeLoadStoreOptPass(PassRegistry &); 160 void initializeLoadStoreVectorizerLegacyPassPass(PassRegistry&); 161 void initializeLocalStackSlotPassPass(PassRegistry&); 162 void initializeLocalizerPass(PassRegistry&); 163 void initializeLoopDataPrefetchLegacyPassPass(PassRegistry&); 164 void initializeLoopExtractorLegacyPassPass(PassRegistry &); 165 void initializeLoopInfoWrapperPassPass(PassRegistry&); 166 void initializeLoopPassPass(PassRegistry&); 167 void initializeLoopSimplifyPass(PassRegistry&); 168 void initializeLoopStrengthReducePass(PassRegistry&); 169 void initializeLoopUnrollPass(PassRegistry&); 170 void initializeLowerAtomicLegacyPassPass(PassRegistry&); 171 void initializeLowerConstantIntrinsicsPass(PassRegistry&); 172 void initializeLowerEmuTLSPass(PassRegistry&); 173 void initializeLowerGlobalDtorsLegacyPassPass(PassRegistry &); 174 void initializeLowerIntrinsicsPass(PassRegistry&); 175 void initializeLowerInvokeLegacyPassPass(PassRegistry&); 176 void initializeLowerSwitchLegacyPassPass(PassRegistry &); 177 void initializeKCFIPass(PassRegistry &); 178 void initializeMIRAddFSDiscriminatorsPass(PassRegistry &); 179 void initializeMIRCanonicalizerPass(PassRegistry &); 180 void initializeMIRNamerPass(PassRegistry &); 181 void initializeMIRPrintingPassPass(PassRegistry&); 182 void initializeMachineBlockFrequencyInfoPass(PassRegistry&); 183 void initializeMachineBlockPlacementPass(PassRegistry&); 184 void initializeMachineBlockPlacementStatsPass(PassRegistry&); 185 void initializeMachineBranchProbabilityInfoPass(PassRegistry&); 186 void initializeMachineCFGPrinterPass(PassRegistry &); 187 void initializeMachineCSEPass(PassRegistry&); 188 void initializeMachineCombinerPass(PassRegistry&); 189 void initializeMachineCopyPropagationPass(PassRegistry&); 190 void initializeMachineCycleInfoPrinterPassPass(PassRegistry &); 191 void initializeMachineCycleInfoWrapperPassPass(PassRegistry &); 192 void initializeMachineDominanceFrontierPass(PassRegistry&); 193 void initializeMachineDominatorTreePass(PassRegistry&); 194 void initializeMachineFunctionPrinterPassPass(PassRegistry&); 195 void initializeMachineFunctionSplitterPass(PassRegistry &); 196 void initializeMachineLateInstrsCleanupPass(PassRegistry&); 197 void initializeMachineLICMPass(PassRegistry&); 198 void initializeMachineLoopInfoPass(PassRegistry&); 199 void initializeMachineModuleInfoWrapperPassPass(PassRegistry &); 200 void initializeMachineOptimizationRemarkEmitterPassPass(PassRegistry&); 201 void initializeMachineOutlinerPass(PassRegistry&); 202 void initializeMachinePipelinerPass(PassRegistry&); 203 void initializeMachinePostDominatorTreePass(PassRegistry&); 204 void initializeMachineRegionInfoPassPass(PassRegistry&); 205 void initializeMachineSanitizerBinaryMetadataPass(PassRegistry &); 206 void initializeMachineSchedulerPass(PassRegistry&); 207 void initializeMachineSinkingPass(PassRegistry&); 208 void initializeMachineTraceMetricsPass(PassRegistry&); 209 void initializeMachineUniformityInfoPrinterPassPass(PassRegistry &); 210 void initializeMachineUniformityAnalysisPassPass(PassRegistry &); 211 void initializeMachineVerifierPassPass(PassRegistry&); 212 void initializeMemoryDependenceWrapperPassPass(PassRegistry&); 213 void initializeMemorySSAWrapperPassPass(PassRegistry&); 214 void initializeMergeICmpsLegacyPassPass(PassRegistry &); 215 void initializeModuleSummaryIndexWrapperPassPass(PassRegistry&); 216 void initializeModuloScheduleTestPass(PassRegistry&); 217 void initializeNaryReassociateLegacyPassPass(PassRegistry&); 218 void initializeObjCARCContractLegacyPassPass(PassRegistry &); 219 void initializeOptimizationRemarkEmitterWrapperPassPass(PassRegistry&); 220 void initializeOptimizePHIsPass(PassRegistry&); 221 void initializePEIPass(PassRegistry&); 222 void initializePHIEliminationPass(PassRegistry&); 223 void initializePartiallyInlineLibCallsLegacyPassPass(PassRegistry&); 224 void initializePatchableFunctionPass(PassRegistry&); 225 void initializePeepholeOptimizerPass(PassRegistry&); 226 void initializePhiValuesWrapperPassPass(PassRegistry&); 227 void initializePhysicalRegisterUsageInfoPass(PassRegistry&); 228 void initializePlaceBackedgeSafepointsLegacyPassPass(PassRegistry &); 229 void initializePostDomOnlyPrinterWrapperPassPass(PassRegistry &); 230 void initializePostDomOnlyViewerWrapperPassPass(PassRegistry &); 231 void initializePostDomPrinterWrapperPassPass(PassRegistry &); 232 void initializePostDomViewerWrapperPassPass(PassRegistry &); 233 void initializePostDominatorTreeWrapperPassPass(PassRegistry&); 234 void initializePostMachineSchedulerPass(PassRegistry&); 235 void initializePostRAHazardRecognizerPass(PassRegistry&); 236 void initializePostRAMachineSinkingPass(PassRegistry&); 237 void initializePostRASchedulerPass(PassRegistry&); 238 void initializePreISelIntrinsicLoweringLegacyPassPass(PassRegistry&); 239 void initializePrintFunctionPassWrapperPass(PassRegistry&); 240 void initializePrintModulePassWrapperPass(PassRegistry&); 241 void initializeProcessImplicitDefsPass(PassRegistry&); 242 void initializeProfileSummaryInfoWrapperPassPass(PassRegistry&); 243 void initializePromoteLegacyPassPass(PassRegistry&); 244 void initializeRABasicPass(PassRegistry&); 245 void initializePseudoProbeInserterPass(PassRegistry &); 246 void initializeRAGreedyPass(PassRegistry&); 247 void initializeReachingDefAnalysisPass(PassRegistry&); 248 void initializeReassociateLegacyPassPass(PassRegistry&); 249 void initializeRegAllocEvictionAdvisorAnalysisPass(PassRegistry &); 250 void initializeRegAllocFastPass(PassRegistry&); 251 void initializeRegAllocPriorityAdvisorAnalysisPass(PassRegistry &); 252 void initializeRegAllocScoringPass(PassRegistry &); 253 void initializeRegBankSelectPass(PassRegistry&); 254 void initializeRegUsageInfoCollectorPass(PassRegistry&); 255 void initializeRegUsageInfoPropagationPass(PassRegistry&); 256 void initializeRegionInfoPassPass(PassRegistry&); 257 void initializeRegionOnlyPrinterPass(PassRegistry&); 258 void initializeRegionOnlyViewerPass(PassRegistry&); 259 void initializeRegionPrinterPass(PassRegistry&); 260 void initializeRegionViewerPass(PassRegistry&); 261 void initializeRegisterCoalescerPass(PassRegistry&); 262 void initializeRemoveRedundantDebugValuesPass(PassRegistry&); 263 void initializeRenameIndependentSubregsPass(PassRegistry&); 264 void initializeReplaceWithVeclibLegacyPass(PassRegistry &); 265 void initializeResetMachineFunctionPass(PassRegistry&); 266 void initializeSCEVAAWrapperPassPass(PassRegistry&); 267 void initializeSROALegacyPassPass(PassRegistry&); 268 void initializeSafeStackLegacyPassPass(PassRegistry&); 269 void initializeSafepointIRVerifierPass(PassRegistry&); 270 void initializeSelectOptimizePass(PassRegistry &); 271 void initializeScalarEvolutionWrapperPassPass(PassRegistry&); 272 void initializeScalarizeMaskedMemIntrinLegacyPassPass(PassRegistry &); 273 void initializeScavengerTestPass(PassRegistry&); 274 void initializeScopedNoAliasAAWrapperPassPass(PassRegistry&); 275 void initializeSeparateConstOffsetFromGEPLegacyPassPass(PassRegistry &); 276 void initializeShadowStackGCLoweringPass(PassRegistry&); 277 void initializeShrinkWrapPass(PassRegistry&); 278 void initializeSingleLoopExtractorPass(PassRegistry&); 279 void initializeSinkingLegacyPassPass(PassRegistry&); 280 void initializeSjLjEHPreparePass(PassRegistry&); 281 void initializeSlotIndexesPass(PassRegistry&); 282 void initializeSpeculativeExecutionLegacyPassPass(PassRegistry&); 283 void initializeSpillPlacementPass(PassRegistry&); 284 void initializeStackColoringPass(PassRegistry&); 285 void initializeStackFrameLayoutAnalysisPassPass(PassRegistry &); 286 void initializeStackMapLivenessPass(PassRegistry&); 287 void initializeStackProtectorPass(PassRegistry&); 288 void initializeStackSafetyGlobalInfoWrapperPassPass(PassRegistry &); 289 void initializeStackSafetyInfoWrapperPassPass(PassRegistry &); 290 void initializeStackSlotColoringPass(PassRegistry&); 291 void initializeStraightLineStrengthReduceLegacyPassPass(PassRegistry &); 292 void initializeStripDebugMachineModulePass(PassRegistry &); 293 void initializeStructurizeCFGLegacyPassPass(PassRegistry &); 294 void initializeTailCallElimPass(PassRegistry&); 295 void initializeTailDuplicatePass(PassRegistry&); 296 void initializeTargetLibraryInfoWrapperPassPass(PassRegistry&); 297 void initializeTargetPassConfigPass(PassRegistry&); 298 void initializeTargetTransformInfoWrapperPassPass(PassRegistry&); 299 void initializeTLSVariableHoistLegacyPassPass(PassRegistry &); 300 void initializeTwoAddressInstructionPassPass(PassRegistry&); 301 void initializeTypeBasedAAWrapperPassPass(PassRegistry&); 302 void initializeTypePromotionLegacyPass(PassRegistry&); 303 void initializeInitUndefPass(PassRegistry &); 304 void initializeUniformityInfoWrapperPassPass(PassRegistry &); 305 void initializeUnifyLoopExitsLegacyPassPass(PassRegistry &); 306 void initializeUnpackMachineBundlesPass(PassRegistry&); 307 void initializeUnreachableBlockElimLegacyPassPass(PassRegistry&); 308 void initializeUnreachableMachineBlockElimPass(PassRegistry&); 309 void initializeVerifierLegacyPassPass(PassRegistry&); 310 void initializeVirtRegMapPass(PassRegistry&); 311 void initializeVirtRegRewriterPass(PassRegistry&); 312 void initializeWasmEHPreparePass(PassRegistry&); 313 void initializeWinEHPreparePass(PassRegistry&); 314 void initializeWriteBitcodePassPass(PassRegistry&); 315 void initializeXRayInstrumentationPass(PassRegistry&); 316 317 } // end namespace llvm 318 319 #endif // LLVM_INITIALIZEPASSES_H 320