Utils.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //===-- Utils.cpp - TransformUtils Infrastructure -------------------------===//
  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 defines the common initialization infrastructure for the
  10. // TransformUtils library.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #include "llvm/Transforms/Utils.h"
  14. #include "llvm-c/Initialization.h"
  15. #include "llvm-c/Transforms/Utils.h"
  16. #include "llvm/IR/LegacyPassManager.h"
  17. #include "llvm/InitializePasses.h"
  18. #include "llvm/Pass.h"
  19. #include "llvm/PassRegistry.h"
  20. using namespace llvm;
  21. /// initializeTransformUtils - Initialize all passes in the TransformUtils
  22. /// library.
  23. void llvm::initializeTransformUtils(PassRegistry &Registry) {
  24. initializeAddDiscriminatorsLegacyPassPass(Registry);
  25. initializeAssumeSimplifyPassLegacyPassPass(Registry);
  26. initializeAssumeBuilderPassLegacyPassPass(Registry);
  27. initializeBreakCriticalEdgesPass(Registry);
  28. initializeCanonicalizeAliasesLegacyPassPass(Registry);
  29. initializeCanonicalizeFreezeInLoopsPass(Registry);
  30. initializeInstNamerPass(Registry);
  31. initializeLCSSAWrapperPassPass(Registry);
  32. initializeLibCallsShrinkWrapLegacyPassPass(Registry);
  33. initializeLoopSimplifyPass(Registry);
  34. initializeLowerInvokeLegacyPassPass(Registry);
  35. initializeLowerSwitchLegacyPassPass(Registry);
  36. initializeNameAnonGlobalLegacyPassPass(Registry);
  37. initializePromoteLegacyPassPass(Registry);
  38. initializeStripNonLineTableDebugLegacyPassPass(Registry);
  39. initializeUnifyFunctionExitNodesLegacyPassPass(Registry);
  40. initializeMetaRenamerPass(Registry);
  41. initializeStripGCRelocatesLegacyPass(Registry);
  42. initializePredicateInfoPrinterLegacyPassPass(Registry);
  43. initializeInjectTLIMappingsLegacyPass(Registry);
  44. initializeFixIrreduciblePass(Registry);
  45. initializeUnifyLoopExitsLegacyPassPass(Registry);
  46. }
  47. /// LLVMInitializeTransformUtils - C binding for initializeTransformUtilsPasses.
  48. void LLVMInitializeTransformUtils(LLVMPassRegistryRef R) {
  49. initializeTransformUtils(*unwrap(R));
  50. }
  51. void LLVMAddLowerSwitchPass(LLVMPassManagerRef PM) {
  52. unwrap(PM)->add(createLowerSwitchPass());
  53. }
  54. void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM) {
  55. unwrap(PM)->add(createPromoteMemoryToRegisterPass());
  56. }
  57. void LLVMAddAddDiscriminatorsPass(LLVMPassManagerRef PM) {
  58. unwrap(PM)->add(createAddDiscriminatorsPass());
  59. }