xref: /freebsd/contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp (revision 27ef5d48c729defb83a8822143dc71ab17f9d68b)
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  
17  using namespace llvm;
18  
19  /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
20  void llvm::initializeCodeGen(PassRegistry &Registry) {
21    initializeAssignmentTrackingAnalysisPass(Registry);
22    initializeAtomicExpandLegacyPass(Registry);
23    initializeBasicBlockPathCloningPass(Registry);
24    initializeBasicBlockSectionsPass(Registry);
25    initializeBranchFolderPassPass(Registry);
26    initializeBranchRelaxationPass(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    initializeDetectDeadLanesPass(Registry);
37    initializeDwarfEHPrepareLegacyPassPass(Registry);
38    initializeEarlyIfConverterPass(Registry);
39    initializeEarlyIfPredicatorPass(Registry);
40    initializeEarlyMachineLICMPass(Registry);
41    initializeEarlyTailDuplicatePass(Registry);
42    initializeExpandLargeDivRemLegacyPassPass(Registry);
43    initializeExpandLargeFpConvertLegacyPassPass(Registry);
44    initializeExpandMemCmpLegacyPassPass(Registry);
45    initializeExpandPostRAPass(Registry);
46    initializeFEntryInserterPass(Registry);
47    initializeFinalizeISelPass(Registry);
48    initializeFinalizeMachineBundlesPass(Registry);
49    initializeFixupStatepointCallerSavedPass(Registry);
50    initializeFuncletLayoutPass(Registry);
51    initializeGCMachineCodeAnalysisPass(Registry);
52    initializeGCModuleInfoPass(Registry);
53    initializeHardwareLoopsLegacyPass(Registry);
54    initializeIfConverterPass(Registry);
55    initializeImplicitNullChecksPass(Registry);
56    initializeIndirectBrExpandLegacyPassPass(Registry);
57    initializeInitUndefPass(Registry);
58    initializeInterleavedLoadCombinePass(Registry);
59    initializeInterleavedAccessPass(Registry);
60    initializeJMCInstrumenterPass(Registry);
61    initializeLiveDebugValuesPass(Registry);
62    initializeLiveDebugVariablesPass(Registry);
63    initializeLiveIntervalsWrapperPassPass(Registry);
64    initializeLiveRangeShrinkPass(Registry);
65    initializeLiveStacksPass(Registry);
66    initializeLiveVariablesWrapperPassPass(Registry);
67    initializeLocalStackSlotPassPass(Registry);
68    initializeLowerGlobalDtorsLegacyPassPass(Registry);
69    initializeLowerIntrinsicsPass(Registry);
70    initializeMIRAddFSDiscriminatorsPass(Registry);
71    initializeMIRCanonicalizerPass(Registry);
72    initializeMIRNamerPass(Registry);
73    initializeMIRProfileLoaderPassPass(Registry);
74    initializeMachineBlockFrequencyInfoWrapperPassPass(Registry);
75    initializeMachineBlockPlacementPass(Registry);
76    initializeMachineBlockPlacementStatsPass(Registry);
77    initializeMachineCFGPrinterPass(Registry);
78    initializeMachineCSEPass(Registry);
79    initializeMachineCombinerPass(Registry);
80    initializeMachineCopyPropagationPass(Registry);
81    initializeMachineCycleInfoPrinterPassPass(Registry);
82    initializeMachineCycleInfoWrapperPassPass(Registry);
83    initializeMachineDominatorTreeWrapperPassPass(Registry);
84    initializeMachineFunctionPrinterPassPass(Registry);
85    initializeMachineLateInstrsCleanupPass(Registry);
86    initializeMachineLICMPass(Registry);
87    initializeMachineLoopInfoWrapperPassPass(Registry);
88    initializeMachineModuleInfoWrapperPassPass(Registry);
89    initializeMachineOptimizationRemarkEmitterPassPass(Registry);
90    initializeMachineOutlinerPass(Registry);
91    initializeMachinePipelinerPass(Registry);
92    initializeMachineSanitizerBinaryMetadataPass(Registry);
93    initializeModuloScheduleTestPass(Registry);
94    initializeMachinePostDominatorTreeWrapperPassPass(Registry);
95    initializeMachineRegionInfoPassPass(Registry);
96    initializeMachineSchedulerPass(Registry);
97    initializeMachineSinkingPass(Registry);
98    initializeMachineUniformityAnalysisPassPass(Registry);
99    initializeMachineUniformityInfoPrinterPassPass(Registry);
100    initializeMachineVerifierLegacyPassPass(Registry);
101    initializeObjCARCContractLegacyPassPass(Registry);
102    initializeOptimizePHIsPass(Registry);
103    initializePEIPass(Registry);
104    initializePHIEliminationPass(Registry);
105    initializePatchableFunctionPass(Registry);
106    initializePeepholeOptimizerPass(Registry);
107    initializePostMachineSchedulerPass(Registry);
108    initializePostRAHazardRecognizerPass(Registry);
109    initializePostRAMachineSinkingPass(Registry);
110    initializePostRASchedulerPass(Registry);
111    initializePreISelIntrinsicLoweringLegacyPassPass(Registry);
112    initializeProcessImplicitDefsPass(Registry);
113    initializeRABasicPass(Registry);
114    initializeRAGreedyPass(Registry);
115    initializeRegAllocFastPass(Registry);
116    initializeRegUsageInfoCollectorPass(Registry);
117    initializeRegUsageInfoPropagationPass(Registry);
118    initializeRegisterCoalescerPass(Registry);
119    initializeRemoveRedundantDebugValuesPass(Registry);
120    initializeRenameIndependentSubregsPass(Registry);
121    initializeSafeStackLegacyPassPass(Registry);
122    initializeSelectOptimizePass(Registry);
123    initializeShadowStackGCLoweringPass(Registry);
124    initializeShrinkWrapPass(Registry);
125    initializeSjLjEHPreparePass(Registry);
126    initializeSlotIndexesWrapperPassPass(Registry);
127    initializeStackColoringPass(Registry);
128    initializeStackFrameLayoutAnalysisPassPass(Registry);
129    initializeStackMapLivenessPass(Registry);
130    initializeStackProtectorPass(Registry);
131    initializeStackSlotColoringPass(Registry);
132    initializeStripDebugMachineModulePass(Registry);
133    initializeTailDuplicatePass(Registry);
134    initializeTargetPassConfigPass(Registry);
135    initializeTwoAddressInstructionLegacyPassPass(Registry);
136    initializeTypePromotionLegacyPass(Registry);
137    initializeUnpackMachineBundlesPass(Registry);
138    initializeUnreachableBlockElimLegacyPassPass(Registry);
139    initializeUnreachableMachineBlockElimPass(Registry);
140    initializeVirtRegMapPass(Registry);
141    initializeVirtRegRewriterPass(Registry);
142    initializeWasmEHPreparePass(Registry);
143    initializeWinEHPreparePass(Registry);
144    initializeXRayInstrumentationPass(Registry);
145  }
146