about summary refs log tree commit diff
path: root/src/librustc/lib/llvm.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustc/lib/llvm.rs')
-rw-r--r--src/librustc/lib/llvm.rs202
1 files changed, 6 insertions, 196 deletions
diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs
index fc655ed1370..a12a8be3b11 100644
--- a/src/librustc/lib/llvm.rs
+++ b/src/librustc/lib/llvm.rs
@@ -1682,8 +1682,14 @@ pub mod llvm {
         pub unsafe fn LLVMFinalizeFunctionPassManager(FPM:PassManagerRef) -> Bool;
 
         #[fast_ffi]
+        pub unsafe fn LLVMInitializePasses();
+
+        #[fast_ffi]
         pub unsafe fn LLVMAddPass(PM:PassManagerRef,P:PassRef);
 
+        #[fast_ffi]
+        pub unsafe fn LLVMCreatePass(PassName:*c_char) -> PassRef;
+
         /** Adds a verification pass. */
         #[fast_ffi]
         pub unsafe fn LLVMAddVerifierPass(PM: PassManagerRef);
@@ -1926,202 +1932,6 @@ pub mod llvm {
                                     AlignStack: Bool, Dialect: c_uint)
                                  -> ValueRef;
 
-        // LLVM Passes
-
-        #[fast_ffi]
-        pub fn LLVMCreateStripSymbolsPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateStripNonDebugSymbolsPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateStripDebugDeclarePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateStripDeadDebugInfoPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateConstantMergePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateGlobalOptimizerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateGlobalDCEPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateAlwaysInlinerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreatePruneEHPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateInternalizePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateDeadArgEliminationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateDeadArgHackingPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateArgumentPromotionPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateIPConstantPropagationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateIPSCCPPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopExtractorPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateSingleLoopExtractorPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateBlockExtractorPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateStripDeadPrototypesPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateFunctionAttrsPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateMergeFunctionsPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreatePartialInliningPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateMetaRenamerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateBarrierNoopPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateFunctionInliningPass(Threshold:c_int) -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateEdgeProfilerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateOptimalEdgeProfilerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreatePathProfilerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateGCOVProfilerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateBoundsCheckingPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateConstantPropagationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateSCCPPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateDeadInstEliminationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateDeadCodeEliminationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateDeadStoreEliminationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateAggressiveDCEPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateSROAPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateScalarReplAggregatesPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateIndVarSimplifyPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateInstructionCombiningPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLICMPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopStrengthReducePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateGlobalMergePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopUnswitchPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopInstSimplifyPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopUnrollPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopRotatePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopIdiomPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreatePromoteMemoryToRegisterPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateDemoteRegisterToMemoryPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateReassociatePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateJumpThreadingPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateCFGSimplificationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateBreakCriticalEdgesPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopSimplifyPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateTailCallEliminationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLowerSwitchPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLowerInvokePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateBlockPlacementPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLCSSAPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateEarlyCSEPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateGVNPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateMemCpyOptPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopDeletionPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateSimplifyLibCallsPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateCodeGenPreparePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateInstructionNamerPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateSinkingPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLowerAtomicPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateCorrelatedValuePropagationPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateInstructionSimplifierPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLowerExpectIntrinsicPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateBBVectorizePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLoopVectorizePass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateGlobalsModRefPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateAliasAnalysisCounterPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateAAEvalPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateNoAAPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateBasicAliasAnalysisPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateScalarEvolutionAliasAnalysisPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateTypeBasedAliasAnalysisPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateProfileLoaderPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateProfileMetadataLoaderPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateNoProfileInfoPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateProfileEstimatorPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateProfileVerifierPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreatePathProfileLoaderPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateNoPathProfileInfoPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreatePathProfileVerifierPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLazyValueInfoPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateDependenceAnalysisPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateCostModelAnalysisPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateInstCountPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateRegionInfoPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateModuleDebugInfoPrinterPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateLintPass() -> PassRef;
-        #[fast_ffi]
-        pub fn LLVMCreateVerifierPass() -> PassRef;
     }
 }