diff options
| author | Nate Begeman <natebegeman@mac.com> | 2010-03-11 23:06:07 +0000 |
|---|---|---|
| committer | Nate Begeman <natebegeman@mac.com> | 2010-03-11 23:06:07 +0000 |
| commit | 5daa235c91971e4f5e5afb1219bfbce2a5e95baf (patch) | |
| tree | 3f4629b703186d0f874d8a2e471eb4345819717a | |
| parent | cdb31d313f343cffd44984328bd28f7d83cb8544 (diff) | |
| download | bcm5719-llvm-5daa235c91971e4f5e5afb1219bfbce2a5e95baf.tar.gz bcm5719-llvm-5daa235c91971e4f5e5afb1219bfbce2a5e95baf.zip | |
Add a handful of additional useful pass manager things to the C API
llvm-svn: 98296
| -rw-r--r-- | llvm/include/llvm-c/Transforms/Scalar.h | 10 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Scalar/Scalar.cpp | 15 |
2 files changed, 25 insertions, 0 deletions
diff --git a/llvm/include/llvm-c/Transforms/Scalar.h b/llvm/include/llvm-c/Transforms/Scalar.h index 2c5a3714d4d..786b6e95cbd 100644 --- a/llvm/include/llvm-c/Transforms/Scalar.h +++ b/llvm/include/llvm-c/Transforms/Scalar.h @@ -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) */ diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp index b54565cb80e..5ad87b0a3bf 100644 --- a/llvm/lib/Transforms/Scalar/Scalar.cpp +++ b/llvm/lib/Transforms/Scalar/Scalar.cpp @@ -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))); +} |

