153 lines · cpp
1//===-- CodeGen.cpp -------------------------------------------------------===//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-exception6//7//===----------------------------------------------------------------------===//8//9// This file implements the common initialization routines for the10// CodeGen library.11//12//===----------------------------------------------------------------------===//13 14#include "llvm/InitializePasses.h"15#include "llvm/PassRegistry.h"16 17using namespace llvm;18 19/// initializeCodeGen - Initialize all passes linked into the CodeGen library.20void llvm::initializeCodeGen(PassRegistry &Registry) {21 initializeAssignmentTrackingAnalysisPass(Registry);22 initializeAtomicExpandLegacyPass(Registry);23 initializeBasicBlockPathCloningPass(Registry);24 initializeBasicBlockSectionsPass(Registry);25 initializeBranchFolderLegacyPass(Registry);26 initializeBranchRelaxationLegacyPass(Registry);27 initializeBreakFalseDepsPass(Registry);28 initializeCallBrPreparePass(Registry);29 initializeCFGuardLongjmpPass(Registry);30 initializeCFIFixupPass(Registry);31 initializeCFIInstrInserterPass(Registry);32 initializeCheckDebugMachineModulePass(Registry);33 initializeCodeGenPrepareLegacyPassPass(Registry);34 initializeDeadMachineInstructionElimPass(Registry);35 initializeDebugifyMachineModulePass(Registry);36 initializeDetectDeadLanesLegacyPass(Registry);37 initializeDwarfEHPrepareLegacyPassPass(Registry);38 initializeEarlyIfConverterLegacyPass(Registry);39 initializeEarlyIfPredicatorPass(Registry);40 initializeEarlyMachineLICMPass(Registry);41 initializeEarlyTailDuplicateLegacyPass(Registry);42 initializeExpandLargeDivRemLegacyPassPass(Registry);43 initializeExpandFpLegacyPassPass(Registry);44 initializeExpandMemCmpLegacyPassPass(Registry);45 initializeExpandPostRALegacyPass(Registry);46 initializeFEntryInserterLegacyPass(Registry);47 initializeFinalizeISelPass(Registry);48 initializeFixupStatepointCallerSavedLegacyPass(Registry);49 initializeFuncletLayoutPass(Registry);50 initializeGCMachineCodeAnalysisPass(Registry);51 initializeGCModuleInfoPass(Registry);52 initializeHardwareLoopsLegacyPass(Registry);53 initializeIfConverterPass(Registry);54 initializeImplicitNullChecksPass(Registry);55 initializeIndirectBrExpandLegacyPassPass(Registry);56 initializeInitUndefLegacyPass(Registry);57 initializeInterleavedLoadCombinePass(Registry);58 initializeInterleavedAccessPass(Registry);59 initializeJMCInstrumenterPass(Registry);60 initializeLiveDebugValuesLegacyPass(Registry);61 initializeLiveDebugVariablesWrapperLegacyPass(Registry);62 initializeLiveIntervalsWrapperPassPass(Registry);63 initializeLiveRangeShrinkPass(Registry);64 initializeLiveStacksWrapperLegacyPass(Registry);65 initializeLiveVariablesWrapperPassPass(Registry);66 initializeLocalStackSlotPassPass(Registry);67 initializeLowerGlobalDtorsLegacyPassPass(Registry);68 initializeLowerIntrinsicsPass(Registry);69 initializeMIRAddFSDiscriminatorsPass(Registry);70 initializeMIRCanonicalizerPass(Registry);71 initializeMIRNamerPass(Registry);72 initializeMIRProfileLoaderPassPass(Registry);73 initializeMachineBlockFrequencyInfoWrapperPassPass(Registry);74 initializeMachineBlockPlacementLegacyPass(Registry);75 initializeMachineBlockPlacementStatsLegacyPass(Registry);76 initializeMachineCFGPrinterPass(Registry);77 initializeMachineCSELegacyPass(Registry);78 initializeMachineCombinerPass(Registry);79 initializeMachineCopyPropagationLegacyPass(Registry);80 initializeMachineCycleInfoPrinterLegacyPass(Registry);81 initializeMachineCycleInfoWrapperPassPass(Registry);82 initializeMachineDominatorTreeWrapperPassPass(Registry);83 initializeMachineFunctionPrinterPassPass(Registry);84 initializeMachineFunctionSplitterPass(Registry);85 initializeMachineLateInstrsCleanupLegacyPass(Registry);86 initializeMachineLICMPass(Registry);87 initializeMachineLoopInfoWrapperPassPass(Registry);88 initializeMachineModuleInfoWrapperPassPass(Registry);89 initializeMachineOptimizationRemarkEmitterPassPass(Registry);90 initializeMachineOutlinerPass(Registry);91 initializeMachinePipelinerPass(Registry);92 initializeMachineSanitizerBinaryMetadataLegacyPass(Registry);93 initializeModuloScheduleTestPass(Registry);94 initializeMachinePostDominatorTreeWrapperPassPass(Registry);95 initializeMachineRegionInfoPassPass(Registry);96 initializeMachineSchedulerLegacyPass(Registry);97 initializeMachineSinkingLegacyPass(Registry);98 initializeMachineUniformityAnalysisPassPass(Registry);99 initializeMIR2VecVocabLegacyAnalysisPass(Registry);100 initializeMIR2VecVocabPrinterLegacyPassPass(Registry);101 initializeMIR2VecPrinterLegacyPassPass(Registry);102 initializeMachineUniformityInfoPrinterPassPass(Registry);103 initializeMachineVerifierLegacyPassPass(Registry);104 initializeObjCARCContractLegacyPassPass(Registry);105 initializeOptimizePHIsLegacyPass(Registry);106 initializePEILegacyPass(Registry);107 initializePHIEliminationPass(Registry);108 initializePatchableFunctionLegacyPass(Registry);109 initializePeepholeOptimizerLegacyPass(Registry);110 initializePostMachineSchedulerLegacyPass(Registry);111 initializePostRAMachineSinkingLegacyPass(Registry);112 initializePostRAHazardRecognizerLegacyPass(Registry);113 initializePostRASchedulerLegacyPass(Registry);114 initializePreISelIntrinsicLoweringLegacyPassPass(Registry);115 initializeProcessImplicitDefsLegacyPass(Registry);116 initializeRABasicPass(Registry);117 initializeRAGreedyLegacyPass(Registry);118 initializeReachingDefInfoWrapperPassPass(Registry);119 initializeRegAllocFastPass(Registry);120 initializeRegUsageInfoCollectorLegacyPass(Registry);121 initializeRegUsageInfoPropagationLegacyPass(Registry);122 initializeRegisterCoalescerLegacyPass(Registry);123 initializeRemoveLoadsIntoFakeUsesLegacyPass(Registry);124 initializeRemoveRedundantDebugValuesLegacyPass(Registry);125 initializeRenameIndependentSubregsLegacyPass(Registry);126 initializeSafeStackLegacyPassPass(Registry);127 initializeSelectOptimizePass(Registry);128 initializeShadowStackGCLoweringPass(Registry);129 initializeShrinkWrapLegacyPass(Registry);130 initializeSjLjEHPreparePass(Registry);131 initializeSlotIndexesWrapperPassPass(Registry);132 initializeStackColoringLegacyPass(Registry);133 initializeStackFrameLayoutAnalysisLegacyPass(Registry);134 initializeStackMapLivenessPass(Registry);135 initializeStackProtectorPass(Registry);136 initializeStackSlotColoringLegacyPass(Registry);137 initializeStaticDataSplitterPass(Registry);138 initializeStaticDataAnnotatorPass(Registry);139 initializeStripDebugMachineModulePass(Registry);140 initializeTailDuplicateLegacyPass(Registry);141 initializeTargetPassConfigPass(Registry);142 initializeTwoAddressInstructionLegacyPassPass(Registry);143 initializeTypePromotionLegacyPass(Registry);144 initializeUnpackMachineBundlesPass(Registry);145 initializeUnreachableBlockElimLegacyPassPass(Registry);146 initializeUnreachableMachineBlockElimLegacyPass(Registry);147 initializeVirtRegMapWrapperLegacyPass(Registry);148 initializeVirtRegRewriterLegacyPass(Registry);149 initializeWasmEHPreparePass(Registry);150 initializeWinEHPreparePass(Registry);151 initializeXRayInstrumentationLegacyPass(Registry);152}153