summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorAditya Kumar <hiraditya@msn.com>2019-09-29 16:06:22 +0000
committerAditya Kumar <hiraditya@msn.com>2019-09-29 16:06:22 +0000
commita6d9d31279c83a25d4e4e44047d1349d1aac8d79 (patch)
tree5320a66c0bb49f7ee2aac022d6ad6eef4bdaaf88 /llvm/lib/Transforms
parenteb78dea4ccd2e9d3fc11fc753b2a24bb2ba3615d (diff)
downloadbcm5719-llvm-a6d9d31279c83a25d4e4e44047d1349d1aac8d79.tar.gz
bcm5719-llvm-a6d9d31279c83a25d4e4e44047d1349d1aac8d79.zip
[LLVM-C][Ocaml] Add MergeFunctions and DCE pass
MergeFunctions and DCE pass are missing from OCaml/C-api. This patch adds them. Differential Revision: https://reviews.llvm.org/D65071 Reviewers: whitequark, hiraditya, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Tags: #llvm Authored by: kren1 llvm-svn: 373170
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/IPO.cpp4
-rw-r--r--llvm/lib/Transforms/Scalar/Scalar.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/IPO.cpp b/llvm/lib/Transforms/IPO/IPO.cpp
index 465ffbd9055..bddf7521159 100644
--- a/llvm/lib/Transforms/IPO/IPO.cpp
+++ b/llvm/lib/Transforms/IPO/IPO.cpp
@@ -114,6 +114,10 @@ void LLVMAddIPSCCPPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createIPSCCPPass());
}
+void LLVMAddMergeFunctionsPass(LLVMPassManagerRef PM) {
+ unwrap(PM)->add(createMergeFunctionsPass());
+}
+
void LLVMAddInternalizePass(LLVMPassManagerRef PM, unsigned AllButMain) {
auto PreserveMain = [=](const GlobalValue &GV) {
return AllButMain && GV.getName() == "main";
diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp
index 869cf00e0a8..688b8b9079e 100644
--- a/llvm/lib/Transforms/Scalar/Scalar.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalar.cpp
@@ -123,6 +123,10 @@ void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createAggressiveDCEPass());
}
+void LLVMAddDCEPass(LLVMPassManagerRef PM) {
+ unwrap(PM)->add(createDeadCodeEliminationPass());
+}
+
void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createBitTrackingDCEPass());
}
OpenPOWER on IntegriCloud