diff options
author | David Blaikie <dblaikie@gmail.com> | 2018-03-28 17:44:36 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2018-03-28 17:44:36 +0000 |
commit | a373d18eb7d718de1a2155b9d8a5d64d6f74e131 (patch) | |
tree | d0ba8756bb27a216297873a90e847953e3ebb344 /llvm/lib/Transforms/Utils/Utils.cpp | |
parent | d579c31d684678d2bf136cc8253616bb616bd5f6 (diff) | |
download | bcm5719-llvm-a373d18eb7d718de1a2155b9d8a5d64d6f74e131.tar.gz bcm5719-llvm-a373d18eb7d718de1a2155b9d8a5d64d6f74e131.zip |
Transforms: Introduce Transforms/Utils.h rather than spreading the declarations amongst Scalar.h and IPO.h
Fixes layering - Transforms/Utils shouldn't depend on including a Scalar
or IPO header, because Scalar and IPO depend on Utils.
llvm-svn: 328717
Diffstat (limited to 'llvm/lib/Transforms/Utils/Utils.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/Utils.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/Utils.cpp b/llvm/lib/Transforms/Utils/Utils.cpp index 4e4a6efc8b5..73a1ce32e92 100644 --- a/llvm/lib/Transforms/Utils/Utils.cpp +++ b/llvm/lib/Transforms/Utils/Utils.cpp @@ -12,7 +12,9 @@ // //===----------------------------------------------------------------------===// +#include "llvm/Transforms/Utils.h" #include "llvm-c/Initialization.h" +#include "llvm/IR/LegacyPassManager.h" #include "llvm/InitializePasses.h" #include "llvm/PassRegistry.h" @@ -34,6 +36,7 @@ void llvm::initializeTransformUtils(PassRegistry &Registry) { initializeStripNonLineTableDebugInfoPass(Registry); initializeUnifyFunctionExitNodesPass(Registry); initializeInstSimplifierPass(Registry); + initializeMetaRenamerPass(Registry); initializeStripGCRelocatesPass(Registry); initializePredicateInfoPrinterLegacyPassPass(Registry); } @@ -42,3 +45,16 @@ void llvm::initializeTransformUtils(PassRegistry &Registry) { void LLVMInitializeTransformUtils(LLVMPassRegistryRef R) { initializeTransformUtils(*unwrap(R)); } + +void LLVMAddLoopSimplifyCFGPass(LLVMPassManagerRef PM) { + unwrap(PM)->add(createLoopSimplifyCFGPass()); +} + +void LLVMAddLowerSwitchPass(LLVMPassManagerRef PM) { + unwrap(PM)->add(createLowerSwitchPass()); +} + +void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM) { + unwrap(PM)->add(createPromoteMemoryToRegisterPass()); +} + |