CodeGen.cpp 5.0 KB

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