about summary refs log tree commit diff
path: root/src/rustllvm
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <respindola@mozilla.com>2011-08-11 19:09:52 -0400
committerRafael Ávila de Espíndola <respindola@mozilla.com>2011-08-11 19:09:52 -0400
commit6402b63b4fde61610488f99e40faaa304089e3f2 (patch)
treebebbc3d938154dff12108d783ad53d07a337604b /src/rustllvm
parent4cee06397633cede0163d4b520a979cb7a5177de (diff)
downloadrust-6402b63b4fde61610488f99e40faaa304089e3f2.tar.gz
rust-6402b63b4fde61610488f99e40faaa304089e3f2.zip
Use the new C API for PassManagerBuilder.
Diffstat (limited to 'src/rustllvm')
-rw-r--r--src/rustllvm/Passes.cpp37
-rw-r--r--src/rustllvm/RustWrapper.cpp8
-rw-r--r--src/rustllvm/rustllvm.def.in15
3 files changed, 10 insertions, 50 deletions
diff --git a/src/rustllvm/Passes.cpp b/src/rustllvm/Passes.cpp
deleted file mode 100644
index 4aaffe89eea..00000000000
--- a/src/rustllvm/Passes.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "llvm/Analysis/Passes.h"
-#include "llvm/Transforms/IPO/PassManagerBuilder.h"
-#include "llvm/Transforms/IPO.h"
-#include "llvm/PassManager.h"
-#include "llvm-c/Core.h"
-#include <cstdlib>
-
-using namespace llvm;
-
-extern "C" void LLVMAddStandardFunctionPasses(LLVMPassManagerRef PM,
-    unsigned int OptimizationLevel) {
-  PassManagerBuilder PMBuilder;
-  PMBuilder.OptLevel = OptimizationLevel;
-  FunctionPassManager *FPM = (FunctionPassManager*) unwrap(PM);
-  PMBuilder.populateFunctionPassManager(*FPM);
-}
-
-extern "C" void LLVMAddStandardModulePasses(LLVMPassManagerRef PM,
-    unsigned int OptimizationLevel, LLVMBool OptimizeSize,
-    LLVMBool UnitAtATime, LLVMBool UnrollLoops, LLVMBool SimplifyLibCalls,
-    unsigned int InliningThreshold) {
-
-  PassManagerBuilder PMBuilder;
-  PMBuilder.OptLevel = OptimizationLevel;
-  PMBuilder.SizeLevel = OptimizeSize;
-  PMBuilder.DisableUnitAtATime = !UnitAtATime;
-  PMBuilder.DisableUnrollLoops = !UnrollLoops;
-
-  PMBuilder.DisableSimplifyLibCalls = !SimplifyLibCalls;
-
-  if (InliningThreshold)
-    PMBuilder.Inliner = createFunctionInliningPass(InliningThreshold);
-
-  PassManager *MPM = (PassManager*) unwrap(PM);
-  PMBuilder.populateModulePassManager(*MPM);
-}
-
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index d953295803b..eadae79e376 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -45,14 +45,6 @@ extern "C" const char *LLVMRustGetLastError(void) {
 }
 
 extern "C" void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM);
-extern "C" void LLVMAddStandardModulePasses(LLVMPassManagerRef PM,
-    unsigned int OptimizationLevel, bool OptimizeSize, bool UnitAtATime,
-    bool UnrollLoops, bool SimplifyLibCalls,
-    unsigned int InliningThreshold);
-
-int *RustHackToFetchPassesO = (int*)LLVMAddBasicAliasAnalysisPass;
-int *RustHackToFetchPasses2O = (int*)LLVMAddStandardModulePasses;
-
 
 extern "C" bool LLVMLinkModules(LLVMModuleRef Dest, LLVMModuleRef Src) {
   static std::string err;
diff --git a/src/rustllvm/rustllvm.def.in b/src/rustllvm/rustllvm.def.in
index 545fd7f6f74..25185f3cde5 100644
--- a/src/rustllvm/rustllvm.def.in
+++ b/src/rustllvm/rustllvm.def.in
@@ -57,21 +57,17 @@ LLVMAddLoopIdiomPass
 LLVMAddLoopRotatePass
 LLVMAddLoopUnrollPass
 LLVMAddLoopUnswitchPass
-LLVMAddLowerSetJmpPass
 LLVMAddMemCpyOptPass
 LLVMAddModule
 LLVMAddModuleProvider
 LLVMAddPromoteMemoryToRegisterPass
 LLVMAddPruneEHPass
-LLVMAddRaiseAllocationsPass
 LLVMAddReassociatePass
 LLVMAddSCCPPass
 LLVMAddScalarReplAggregatesPass
 LLVMAddScalarReplAggregatesPassSSA
 LLVMAddScalarReplAggregatesPassWithThreshold
 LLVMAddSimplifyLibCallsPass
-LLVMAddStandardFunctionPasses
-LLVMAddStandardModulePasses
 LLVMAddStripDeadPrototypesPass
 LLVMAddStripSymbolsPass
 LLVMAddTailCallEliminationPass
@@ -489,7 +485,6 @@ LLVMIsAUIToFPInst
 LLVMIsAUnaryInstruction
 LLVMIsAUndefValue
 LLVMIsAUnreachableInst
-LLVMIsAUnwindInst
 LLVMIsAUser
 LLVMIsAVAArgInst
 LLVMIsAZExtInst
@@ -522,6 +517,16 @@ LLVMPPCFP128Type
 LLVMPPCFP128TypeInContext
 LLVMParseBitcode
 LLVMParseBitcodeInContext
+LLVMPassManagerBuilderCreate
+LLVMPassManagerBuilderDispose
+LLVMPassManagerBuilderPopulateModulePassManager
+LLVMPassManagerBuilderSetDisableSimplifyLibCalls
+LLVMPassManagerBuilderSetDisableUnitAtATime
+LLVMPassManagerBuilderPopulateFunctionPassManager
+LLVMPassManagerBuilderSetDisableUnrollLoops
+LLVMPassManagerBuilderSetOptLevel
+LLVMPassManagerBuilderSetSizeLevel
+LLVMPassManagerBuilderUseInlinerWithThreshold
 LLVMPointerSize
 LLVMPointerType
 LLVMPositionBuilder