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-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file implements the common initialization routines for the
10// 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 initializeBasicBlockMatchingAndInferencePass(Registry);
24 initializeBasicBlockPathCloningPass(Registry);
25 initializeBasicBlockSectionsPass(Registry);
26 initializeBasicBlockSectionsProfileReaderWrapperPassPass(Registry);
27 initializeBranchFolderLegacyPass(Registry);
28 initializeBranchRelaxationLegacyPass(Registry);
29 initializeBreakFalseDepsPass(Registry);
30 initializeCallBrPreparePass(Registry);
31 initializeCFGuardLongjmpPass(Registry);
32 initializeCFIFixupPass(Registry);
33 initializeCFIInstrInserterPass(Registry);
34 initializeCheckDebugMachineModulePass(Registry);
35 initializeCodeGenPrepareLegacyPassPass(Registry);
36 initializeComplexDeinterleavingLegacyPassPass(Registry);
37 initializeDeadMachineInstructionElimPass(Registry);
38 initializeDebugifyMachineModulePass(Registry);
39 initializeDetectDeadLanesLegacyPass(Registry);
40 initializeDummyCGSCCPassPass(Registry);
41 initializeDwarfEHPrepareLegacyPassPass(Registry);
42 initializeEHContGuardTargetsPass(Registry);
43 initializeEarlyIfConverterLegacyPass(Registry);
44 initializeEarlyIfPredicatorPass(Registry);
45 initializeEarlyMachineLICMPass(Registry);
46 initializeEarlyTailDuplicateLegacyPass(Registry);
47 initializeExpandIRInstsLegacyPassPass(Registry);
48 initializeExpandMemCmpLegacyPassPass(Registry);
49 initializeExpandPostRALegacyPass(Registry);
50 initializeExpandReductionsPass(Registry);
51 initializeFEntryInserterLegacyPass(Registry);
52 initializeFinalizeISelPass(Registry);
53 initializeFixupStatepointCallerSavedLegacyPass(Registry);
54 initializeFuncletLayoutPass(Registry);
55 initializeGCEmptyBasicBlocksLegacyPass(Registry);
56 initializeGCMachineCodeAnalysisPass(Registry);
57 initializeGCModuleInfoPass(Registry);
58 initializeGlobalMergePass(Registry);
59 initializeHardwareLoopsLegacyPass(Registry);
60 initializeIfConverterPass(Registry);
61 initializeImplicitNullChecksPass(Registry);
62 initializeIndirectBrExpandLegacyPassPass(Registry);
63 initializeInitUndefLegacyPass(Registry);
64 initializeInterleavedLoadCombinePass(Registry);
65 initializeInterleavedAccessPass(Registry);
66 initializeJMCInstrumenterPass(Registry);
67 initializeLazyMachineBlockFrequencyInfoPassPass(Registry);
68 initializeLibcallLoweringInfoWrapperPass(Registry);
69 initializeLiveDebugValuesLegacyPass(Registry);
70 initializeLiveDebugVariablesWrapperLegacyPass(Registry);
71 initializeLiveIntervalsWrapperPassPass(Registry);
72 initializeLiveRangeShrinkPass(Registry);
73 initializeLiveStacksWrapperLegacyPass(Registry);
74 initializeLiveVariablesWrapperPassPass(Registry);
75 initializeLocalStackSlotPassPass(Registry);
76 initializeLowerEmuTLSPass(Registry);
77 initializeLowerGlobalDtorsLegacyPassPass(Registry);
78 initializeLowerIntrinsicsPass(Registry);
79 initializeMIRAddFSDiscriminatorsPass(Registry);
80 initializeMIRCanonicalizerPass(Registry);
81 initializeMIRNamerPass(Registry);
82 initializeMIRProfileLoaderPassPass(Registry);
83 initializeMachineBlockFrequencyInfoWrapperPassPass(Registry);
84 initializeMachineBlockHashInfoPass(Registry);
85 initializeMachineBlockPlacementLegacyPass(Registry);
86 initializeMachineBlockPlacementStatsLegacyPass(Registry);
87 initializeMachineBranchProbabilityInfoWrapperPassPass(Registry);
88 initializeMachineCFGPrinterPass(Registry);
89 initializeMachineCSELegacyPass(Registry);
90 initializeMachineCombinerPass(Registry);
91 initializeMachineDominanceFrontierWrapperPassPass(Registry);
92 initializeMachineCopyPropagationLegacyPass(Registry);
93 initializeMachineCycleInfoPrinterLegacyPass(Registry);
94 initializeMachineCycleInfoWrapperPassPass(Registry);
95 initializeMachineDominatorTreeWrapperPassPass(Registry);
96 initializeMachineFunctionPrinterPassPass(Registry);
97 initializeMachineFunctionSplitterPass(Registry);
98 initializeMachineLateInstrsCleanupLegacyPass(Registry);
99 initializeMachineLICMPass(Registry);
100 initializeMachineLoopInfoWrapperPassPass(Registry);
101 initializeMachineModuleInfoWrapperPassPass(Registry);
102 initializeMachineOptimizationRemarkEmitterPassPass(Registry);
103 initializeMachineOutlinerPass(Registry);
104 initializeMachinePipelinerPass(Registry);
105 initializeMachineSanitizerBinaryMetadataLegacyPass(Registry);
106 initializeModuloScheduleTestPass(Registry);
107 initializeMachinePostDominatorTreeWrapperPassPass(Registry);
108 initializeMachineRegionInfoPassPass(Registry);
109 initializeMachineSchedulerLegacyPass(Registry);
110 initializeMachineSinkingLegacyPass(Registry);
111 initializeMachineUniformityAnalysisPassPass(Registry);
112 initializeMIR2VecVocabLegacyAnalysisPass(Registry);
113 initializeMIR2VecVocabPrinterLegacyPassPass(Registry);
114 initializeMIR2VecPrinterLegacyPassPass(Registry);
115 initializeMachineUniformityInfoPrinterPassPass(Registry);
116 initializeMachineVerifierLegacyPassPass(Registry);
117 initializeObjCARCContractLegacyPassPass(Registry);
118 initializeOptimizePHIsLegacyPass(Registry);
119 initializePEILegacyPass(Registry);
120 initializePHIEliminationPass(Registry);
121 initializePatchableFunctionLegacyPass(Registry);
122 initializePeepholeOptimizerLegacyPass(Registry);
123 initializePhysicalRegisterUsageInfoWrapperLegacyPass(Registry);
124 initializePostMachineSchedulerLegacyPass(Registry);
125 initializePostRAMachineSinkingLegacyPass(Registry);
126 initializePostRAHazardRecognizerLegacyPass(Registry);
127 initializePostRASchedulerLegacyPass(Registry);
128 initializePreISelIntrinsicLoweringLegacyPassPass(Registry);
129 initializeProcessImplicitDefsLegacyPass(Registry);
130 initializePseudoProbeInserterPass(Registry);
131 initializeRABasicPass(Registry);
132 initializeRAGreedyLegacyPass(Registry);
133 initializeReachingDefInfoWrapperPassPass(Registry);
134 initializeRegAllocFastPass(Registry);
135 initializeRegAllocScoringPass(Registry);
136 initializeRegUsageInfoCollectorLegacyPass(Registry);
137 initializeRegUsageInfoPropagationLegacyPass(Registry);
138 initializeRegisterCoalescerLegacyPass(Registry);
139 initializeRemoveLoadsIntoFakeUsesLegacyPass(Registry);
140 initializeRemoveRedundantDebugValuesLegacyPass(Registry);
141 initializeRenameIndependentSubregsLegacyPass(Registry);
142 initializeReplaceWithVeclibLegacyPass(Registry);
143 initializeSafeStackLegacyPassPass(Registry);
144 initializeSelectOptimizePass(Registry);
145 initializeShadowStackGCLoweringPass(Registry);
146 initializeShrinkWrapLegacyPass(Registry);
147 initializeSjLjEHPreparePass(Registry);
148 initializeSlotIndexesWrapperPassPass(Registry);
149 initializeStackColoringLegacyPass(Registry);
150 initializeStackFrameLayoutAnalysisLegacyPass(Registry);
151 initializeStackMapLivenessPass(Registry);
152 initializeStackProtectorPass(Registry);
153 initializeStackSlotColoringLegacyPass(Registry);
154 initializeStaticDataSplitterPass(Registry);
155 initializeStaticDataAnnotatorPass(Registry);
156 initializeStripDebugMachineModulePass(Registry);
157 initializeTailDuplicateLegacyPass(Registry);
158 initializeTargetPassConfigPass(Registry);
159 initializeTwoAddressInstructionLegacyPassPass(Registry);
160 initializeTypePromotionLegacyPass(Registry);
161 initializeUnpackMachineBundlesPass(Registry);
162 initializeUnreachableBlockElimLegacyPassPass(Registry);
163 initializeUnreachableMachineBlockElimLegacyPass(Registry);
164 initializeVirtRegMapWrapperLegacyPass(Registry);
165 initializeVirtRegRewriterLegacyPass(Registry);
166 initializeWasmEHPreparePass(Registry);
167 initializeWinEHPreparePass(Registry);
168 initializeWindowsSecureHotPatchingPass(Registry);
169 initializeXRayInstrumentationLegacyPass(Registry);
170}
171