summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2010-03-11 23:06:07 +0000
committerNate Begeman <natebegeman@mac.com>2010-03-11 23:06:07 +0000
commit5daa235c91971e4f5e5afb1219bfbce2a5e95baf (patch)
tree3f4629b703186d0f874d8a2e471eb4345819717a /llvm/lib/Transforms
parentcdb31d313f343cffd44984328bd28f7d83cb8544 (diff)
downloadbcm5719-llvm-5daa235c91971e4f5e5afb1219bfbce2a5e95baf.tar.gz
bcm5719-llvm-5daa235c91971e4f5e5afb1219bfbce2a5e95baf.zip
Add a handful of additional useful pass manager things to the C API
llvm-svn: 98296
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/Scalar.cpp15
1 files changed, 15 insertions, 0 deletions
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)));
+}
OpenPOWER on IntegriCloud