Add a handful of additional useful pass manager things to the C API
authorNate Begeman <natebegeman@mac.com>
Thu, 11 Mar 2010 23:06:07 +0000 (23:06 +0000)
committerNate Begeman <natebegeman@mac.com>
Thu, 11 Mar 2010 23:06:07 +0000 (23:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98296 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 2c5a3714d4d18d023821c3f27e8efa7176f7cbbb..786b6e95cbd8e0c5da440e66dafa1430dc661afe 100644 (file)
@@ -79,6 +79,10 @@ void LLVMAddSCCPPass(LLVMPassManagerRef PM);
 /** See llvm::createScalarReplAggregatesPass function. */
 void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM);
 
+/** See llvm::createScalarReplAggregatesPass function. */
+void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM,
+                                                  int Threshold);
+
 /** See llvm::createSimplifyLibCallsPass function. */
 void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM);
 
@@ -91,6 +95,12 @@ void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM);
 /** See llvm::demotePromoteMemoryToRegisterPass function. */
 void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM);
 
+/** See llvm::createVerifierPass function. */
+void LLVMAddVerifierPass(LLVMPassManagerRef PM);
+
+/** PM->add(new TargetData(M)) */
+void LLVMAddTargetData(LLVMPassManagerRef PM, LLVMModuleRef M);
+
 #ifdef __cplusplus
 }
 #endif /* defined(__cplusplus) */
index b54565cb80ecdf9a9aa0306a09de022d7ea83e95..5ad87b0a3bf8554d8e0fcb7ece530939a8d470b4 100644 (file)
@@ -14,6 +14,8 @@
 
 #include "llvm-c/Transforms/Scalar.h"
 #include "llvm/PassManager.h"
+#include "llvm/Analysis/Verifier.h"
+#include "llvm/Target/TargetData.h"
 #include "llvm/Transforms/Scalar.h"
 
 using namespace llvm;
@@ -90,6 +92,11 @@ void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM) {
   unwrap(PM)->add(createScalarReplAggregatesPass());
 }
 
+void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM,
+                                                  int Threshold) {
+  unwrap(PM)->add(createScalarReplAggregatesPass(Threshold));
+}
+
 void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM) {
   unwrap(PM)->add(createSimplifyLibCallsPass());
 }
@@ -105,3 +112,11 @@ void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM) {
 void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM) {
   unwrap(PM)->add(createDemoteRegisterToMemoryPass());
 }
+
+void LLVMAddVerifierPass(LLVMPassManagerRef PM) {
+  unwrap(PM)->add(createVerifierPass());
+}
+
+void LLVMAddTargetData(LLVMPassManagerRef PM, LLVMModuleRef M) {
+  unwrap(PM)->add(new TargetData(unwrap(M)));
+}