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