[EarlyCSE] Change C API pass interface for EarlyCSE w/ MemorySSA
authorGeoff Berry <gberry@codeaurora.org>
Thu, 1 Sep 2016 15:07:46 +0000 (15:07 +0000)
committerGeoff Berry <gberry@codeaurora.org>
Thu, 1 Sep 2016 15:07:46 +0000 (15:07 +0000)
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

llvm/include/llvm-c/Transforms/Scalar.h
llvm/lib/Transforms/Scalar/Scalar.cpp

index 473d6cb..e45a780 100644 (file)
@@ -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);
index ce678c0..4e6bc63 100644 (file)
@@ -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) {