CodeGen.cpp 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. initializeAtomicExpandPass(Registry);
  20. initializeBasicBlockSectionsPass(Registry);
  21. initializeBranchFolderPassPass(Registry);
  22. initializeBranchRelaxationPass(Registry);
  23. initializeCFGuardLongjmpPass(Registry);
  24. initializeCFIInstrInserterPass(Registry);
  25. initializeCheckDebugMachineModulePass(Registry);
  26. initializeCodeGenPreparePass(Registry);
  27. initializeDeadMachineInstructionElimPass(Registry);
  28. initializeDebugifyMachineModulePass(Registry);
  29. initializeDetectDeadLanesPass(Registry);
  30. initializeDwarfEHPrepareLegacyPassPass(Registry);
  31. initializeEarlyIfConverterPass(Registry);
  32. initializeEarlyIfPredicatorPass(Registry);
  33. initializeEarlyMachineLICMPass(Registry);
  34. initializeEarlyTailDuplicatePass(Registry);
  35. initializeExpandMemCmpPassPass(Registry);
  36. initializeExpandPostRAPass(Registry);
  37. initializeFEntryInserterPass(Registry);
  38. initializeFinalizeISelPass(Registry);
  39. initializeFinalizeMachineBundlesPass(Registry);
  40. initializeFixupStatepointCallerSavedPass(Registry);
  41. initializeFuncletLayoutPass(Registry);
  42. initializeGCMachineCodeAnalysisPass(Registry);
  43. initializeGCModuleInfoPass(Registry);
  44. initializeHardwareLoopsPass(Registry);
  45. initializeIfConverterPass(Registry);
  46. initializeImplicitNullChecksPass(Registry);
  47. initializeIndirectBrExpandPassPass(Registry);
  48. initializeInterleavedLoadCombinePass(Registry);
  49. initializeInterleavedAccessPass(Registry);
  50. initializeLiveDebugValuesPass(Registry);
  51. initializeLiveDebugVariablesPass(Registry);
  52. initializeLiveIntervalsPass(Registry);
  53. initializeLiveRangeShrinkPass(Registry);
  54. initializeLiveStacksPass(Registry);
  55. initializeLiveVariablesPass(Registry);
  56. initializeLocalStackSlotPassPass(Registry);
  57. initializeLowerIntrinsicsPass(Registry);
  58. initializeMIRCanonicalizerPass(Registry);
  59. initializeMIRNamerPass(Registry);
  60. initializeMachineBlockFrequencyInfoPass(Registry);
  61. initializeMachineBlockPlacementPass(Registry);
  62. initializeMachineBlockPlacementStatsPass(Registry);
  63. initializeMachineCSEPass(Registry);
  64. initializeMachineCombinerPass(Registry);
  65. initializeMachineCopyPropagationPass(Registry);
  66. initializeMachineDominatorTreePass(Registry);
  67. initializeMachineFunctionPrinterPassPass(Registry);
  68. initializeMachineLICMPass(Registry);
  69. initializeMachineLoopInfoPass(Registry);
  70. initializeMachineModuleInfoWrapperPassPass(Registry);
  71. initializeMachineOptimizationRemarkEmitterPassPass(Registry);
  72. initializeMachineOutlinerPass(Registry);
  73. initializeMachinePipelinerPass(Registry);
  74. initializeModuloScheduleTestPass(Registry);
  75. initializeMachinePostDominatorTreePass(Registry);
  76. initializeMachineRegionInfoPassPass(Registry);
  77. initializeMachineSchedulerPass(Registry);
  78. initializeMachineSinkingPass(Registry);
  79. initializeMachineVerifierPassPass(Registry);
  80. initializeOptimizePHIsPass(Registry);
  81. initializePEIPass(Registry);
  82. initializePHIEliminationPass(Registry);
  83. initializePatchableFunctionPass(Registry);
  84. initializePeepholeOptimizerPass(Registry);
  85. initializePostMachineSchedulerPass(Registry);
  86. initializePostRAHazardRecognizerPass(Registry);
  87. initializePostRAMachineSinkingPass(Registry);
  88. initializePostRASchedulerPass(Registry);
  89. initializePreISelIntrinsicLoweringLegacyPassPass(Registry);
  90. initializeProcessImplicitDefsPass(Registry);
  91. initializeRABasicPass(Registry);
  92. initializeRAGreedyPass(Registry);
  93. initializeRegAllocFastPass(Registry);
  94. initializeRegUsageInfoCollectorPass(Registry);
  95. initializeRegUsageInfoPropagationPass(Registry);
  96. initializeRegisterCoalescerPass(Registry);
  97. initializeRenameIndependentSubregsPass(Registry);
  98. initializeSafeStackLegacyPassPass(Registry);
  99. initializeShrinkWrapPass(Registry);
  100. initializeSjLjEHPreparePass(Registry);
  101. initializeSlotIndexesPass(Registry);
  102. initializeStackColoringPass(Registry);
  103. initializeStackMapLivenessPass(Registry);
  104. initializeStackProtectorPass(Registry);
  105. initializeStackSlotColoringPass(Registry);
  106. initializeStripDebugMachineModulePass(Registry);
  107. initializeTailDuplicatePass(Registry);
  108. initializeTargetPassConfigPass(Registry);
  109. initializeTwoAddressInstructionPassPass(Registry);
  110. initializeTypePromotionPass(Registry);
  111. initializeUnpackMachineBundlesPass(Registry);
  112. initializeUnreachableBlockElimLegacyPassPass(Registry);
  113. initializeUnreachableMachineBlockElimPass(Registry);
  114. initializeVirtRegMapPass(Registry);
  115. initializeVirtRegRewriterPass(Registry);
  116. initializeWasmEHPreparePass(Registry);
  117. initializeWinEHPreparePass(Registry);
  118. initializeXRayInstrumentationPass(Registry);
  119. }
  120. void LLVMInitializeCodeGen(LLVMPassRegistryRef R) {
  121. initializeCodeGen(*unwrap(R));
  122. }