summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeoff Berry <gberry@codeaurora.org>2016-09-01 15:07:46 +0000
committerGeoff Berry <gberry@codeaurora.org>2016-09-01 15:07:46 +0000
commitfcb186ca9d4f6196190d22ffff8e3dbd488c30fc (patch)
tree9bef48f0d6ebe884ce3e99fa1f944a3ea0ce126b
parentb939a7fde86c3bc268aa3b5773b994ae82f2f272 (diff)
downloadbcm5719-llvm-fcb186ca9d4f6196190d22ffff8e3dbd488c30fc.tar.gz
bcm5719-llvm-fcb186ca9d4f6196190d22ffff8e3dbd488c30fc.zip
[EarlyCSE] Change C API pass interface for EarlyCSE w/ MemorySSA
Previous change broke the C API for creating an EarlyCSE pass w/ MemorySSA by adding a bool parameter to control whether MemorySSA was used or not. This broke the OCaml bindings. Instead, change the old C API entry point back and add a new one to request an EarlyCSE pass with MemorySSA. llvm-svn: 280379
-rw-r--r--llvm/include/llvm-c/Transforms/Scalar.h5
-rw-r--r--llvm/lib/Transforms/Scalar/Scalar.cpp8
2 files changed, 10 insertions, 3 deletions
diff --git a/llvm/include/llvm-c/Transforms/Scalar.h b/llvm/include/llvm-c/Transforms/Scalar.h
index 473d6cb930f..e45a780c5a5 100644
--- a/llvm/include/llvm-c/Transforms/Scalar.h
+++ b/llvm/include/llvm-c/Transforms/Scalar.h
@@ -133,7 +133,10 @@ void LLVMAddVerifierPass(LLVMPassManagerRef PM);
void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM);
/** See llvm::createEarlyCSEPass function */
-void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM, int UseMemorySSA);
+void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM);
+
+/** See llvm::createEarlyCSEPass function */
+void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM);
/** See llvm::createLowerExpectIntrinsicPass function */
void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM);
diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp
index ce678c01082..4e6bc6337cb 100644
--- a/llvm/lib/Transforms/Scalar/Scalar.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalar.cpp
@@ -234,8 +234,12 @@ void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createCorrelatedValuePropagationPass());
}
-void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM, int UseMemorySSA) {
- unwrap(PM)->add(createEarlyCSEPass(UseMemorySSA));
+void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM) {
+ unwrap(PM)->add(createEarlyCSEPass(false/*=UseMemorySSA*/));
+}
+
+void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM) {
+ unwrap(PM)->add(createEarlyCSEPass(true/*=UseMemorySSA*/));
}
void LLVMAddGVNHoistLegacyPass(LLVMPassManagerRef PM) {
OpenPOWER on IntegriCloud