CodeGen.cpp 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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. #include "llvm-c/Initialization.h"
  14. #include "llvm/InitializePasses.h"
  15. #include "llvm/PassRegistry.h"
  16. using namespace llvm;
  17. /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
  18. void llvm::initializeCodeGen(PassRegistry &Registry) {
  19. initializeAssignmentTrackingAnalysisPass(Registry);
  20. initializeAtomicExpandPass(Registry);
  21. initializeBasicBlockSectionsPass(Registry);
  22. initializeBranchFolderPassPass(Registry);
  23. initializeBranchRelaxationPass(Registry);
  24. initializeCFGuardLongjmpPass(Registry);
  25. initializeCFIFixupPass(Registry);
  26. initializeCFIInstrInserterPass(Registry);
  27. initializeCheckDebugMachineModulePass(Registry);
  28. initializeCodeGenPreparePass(Registry);
  29. initializeDeadMachineInstructionElimPass(Registry);
  30. initializeDebugifyMachineModulePass(Registry);
  31. initializeDetectDeadLanesPass(Registry);
  32. initializeDwarfEHPrepareLegacyPassPass(Registry);
  33. initializeEarlyIfConverterPass(Registry);
  34. initializeEarlyIfPredicatorPass(Registry);
  35. initializeEarlyMachineLICMPass(Registry);
  36. initializeEarlyTailDuplicatePass(Registry);
  37. initializeExpandLargeDivRemLegacyPassPass(Registry);
  38. initializeExpandLargeFpConvertLegacyPassPass(Registry);
  39. initializeExpandMemCmpPassPass(Registry);
  40. initializeExpandPostRAPass(Registry);
  41. initializeFEntryInserterPass(Registry);
  42. initializeFinalizeISelPass(Registry);
  43. initializeFinalizeMachineBundlesPass(Registry);
  44. initializeFixupStatepointCallerSavedPass(Registry);
  45. initializeFuncletLayoutPass(Registry);
  46. initializeGCMachineCodeAnalysisPass(Registry);
  47. initializeGCModuleInfoPass(Registry);
  48. initializeHardwareLoopsPass(Registry);
  49. initializeIfConverterPass(Registry);
  50. initializeImplicitNullChecksPass(Registry);
  51. initializeIndirectBrExpandPassPass(Registry);
  52. initializeInterleavedLoadCombinePass(Registry);
  53. initializeInterleavedAccessPass(Registry);
  54. initializeJMCInstrumenterPass(Registry);
  55. initializeLiveDebugValuesPass(Registry);
  56. initializeLiveDebugVariablesPass(Registry);
  57. initializeLiveIntervalsPass(Registry);
  58. initializeLiveRangeShrinkPass(Registry);
  59. initializeLiveStacksPass(Registry);
  60. initializeLiveVariablesPass(Registry);
  61. initializeLocalStackSlotPassPass(Registry);
  62. initializeLowerGlobalDtorsLegacyPassPass(Registry);
  63. initializeLowerIntrinsicsPass(Registry);
  64. initializeMIRAddFSDiscriminatorsPass(Registry);
  65. initializeMIRCanonicalizerPass(Registry);
  66. initializeMIRNamerPass(Registry);
  67. initializeMIRProfileLoaderPassPass(Registry);
  68. initializeMachineBlockFrequencyInfoPass(Registry);
  69. initializeMachineBlockPlacementPass(Registry);
  70. initializeMachineBlockPlacementStatsPass(Registry);
  71. initializeMachineCFGPrinterPass(Registry);
  72. initializeMachineCSEPass(Registry);
  73. initializeMachineCombinerPass(Registry);
  74. initializeMachineCopyPropagationPass(Registry);
  75. initializeMachineCycleInfoPrinterPassPass(Registry);
  76. initializeMachineCycleInfoWrapperPassPass(Registry);
  77. initializeMachineDominatorTreePass(Registry);
  78. initializeMachineFunctionPrinterPassPass(Registry);
  79. initializeMachineLateInstrsCleanupPass(Registry);
  80. initializeMachineLICMPass(Registry);
  81. initializeMachineLoopInfoPass(Registry);
  82. initializeMachineModuleInfoWrapperPassPass(Registry);
  83. initializeMachineOptimizationRemarkEmitterPassPass(Registry);
  84. initializeMachineOutlinerPass(Registry);
  85. initializeMachinePipelinerPass(Registry);
  86. initializeMachineSanitizerBinaryMetadataPass(Registry);
  87. initializeModuloScheduleTestPass(Registry);
  88. initializeMachinePostDominatorTreePass(Registry);
  89. initializeMachineRegionInfoPassPass(Registry);
  90. initializeMachineSchedulerPass(Registry);
  91. initializeMachineSinkingPass(Registry);
  92. initializeMachineUniformityAnalysisPassPass(Registry);
  93. initializeMachineUniformityInfoPrinterPassPass(Registry);
  94. initializeMachineVerifierPassPass(Registry);
  95. initializeObjCARCContractLegacyPassPass(Registry);
  96. initializeOptimizePHIsPass(Registry);
  97. initializePEIPass(Registry);
  98. initializePHIEliminationPass(Registry);
  99. initializePatchableFunctionPass(Registry);
  100. initializePeepholeOptimizerPass(Registry);
  101. initializePostMachineSchedulerPass(Registry);
  102. initializePostRAHazardRecognizerPass(Registry);
  103. initializePostRAMachineSinkingPass(Registry);
  104. initializePostRASchedulerPass(Registry);
  105. initializePreISelIntrinsicLoweringLegacyPassPass(Registry);
  106. initializeProcessImplicitDefsPass(Registry);
  107. initializeRABasicPass(Registry);
  108. initializeRAGreedyPass(Registry);
  109. initializeRegAllocFastPass(Registry);
  110. initializeRegUsageInfoCollectorPass(Registry);
  111. initializeRegUsageInfoPropagationPass(Registry);
  112. initializeRegisterCoalescerPass(Registry);
  113. initializeRemoveRedundantDebugValuesPass(Registry);
  114. initializeRenameIndependentSubregsPass(Registry);
  115. initializeSafeStackLegacyPassPass(Registry);
  116. initializeSelectOptimizePass(Registry);
  117. initializeShadowStackGCLoweringPass(Registry);
  118. initializeShrinkWrapPass(Registry);
  119. initializeSjLjEHPreparePass(Registry);
  120. initializeSlotIndexesPass(Registry);
  121. initializeStackColoringPass(Registry);
  122. initializeStackFrameLayoutAnalysisPassPass(Registry);
  123. initializeStackMapLivenessPass(Registry);
  124. initializeStackProtectorPass(Registry);
  125. initializeStackSlotColoringPass(Registry);
  126. initializeStripDebugMachineModulePass(Registry);
  127. initializeTailDuplicatePass(Registry);
  128. initializeTargetPassConfigPass(Registry);
  129. initializeTwoAddressInstructionPassPass(Registry);
  130. initializeTypePromotionLegacyPass(Registry);
  131. initializeUnpackMachineBundlesPass(Registry);
  132. initializeUnreachableBlockElimLegacyPassPass(Registry);
  133. initializeUnreachableMachineBlockElimPass(Registry);
  134. initializeVirtRegMapPass(Registry);
  135. initializeVirtRegRewriterPass(Registry);
  136. initializeWasmEHPreparePass(Registry);
  137. initializeWinEHPreparePass(Registry);
  138. initializeXRayInstrumentationPass(Registry);
  139. }
  140. void LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
  141. initializeCodeGen(*unwrap(R));
  142. }