1 /*===-- IPO.h - Interprocedural Transformations C Interface -----*- C++ -*-===*\ 2 |* *| 3 |* The LLVM Compiler Infrastructure *| 4 |* *| 5 |* This file is distributed under the University of Illinois Open Source *| 6 |* License. See LICENSE.TXT for details. *| 7 |* *| 8 |*===----------------------------------------------------------------------===*| 9 |* *| 10 |* This header declares the C interface to libLLVMIPO.a, which implements *| 11 |* various interprocedural transformations of the LLVM IR. *| 12 |* *| 13 \*===----------------------------------------------------------------------===*/ 14 15 module llvm.c.transforms.IPO; 16 17 public import llvm.c.types; 18 19 extern(C) nothrow: 20 21 /** 22 * @defgroup LLVMCTransformsIPO Interprocedural transformations 23 * @ingroup LLVMCTransforms 24 * 25 * @{ 26 */ 27 28 /** See llvm::createArgumentPromotionPass function. */ 29 void LLVMAddArgumentPromotionPass(LLVMPassManagerRef PM); 30 31 /** See llvm::createConstantMergePass function. */ 32 void LLVMAddConstantMergePass(LLVMPassManagerRef PM); 33 34 /** See llvm::createDeadArgEliminationPass function. */ 35 void LLVMAddDeadArgEliminationPass(LLVMPassManagerRef PM); 36 37 /** See llvm::createFunctionAttrsPass function. */ 38 void LLVMAddFunctionAttrsPass(LLVMPassManagerRef PM); 39 40 /** See llvm::createFunctionInliningPass function. */ 41 void LLVMAddFunctionInliningPass(LLVMPassManagerRef PM); 42 43 /** See llvm::createAlwaysInlinerPass function. */ 44 void LLVMAddAlwaysInlinerPass(LLVMPassManagerRef PM); 45 46 /** See llvm::createGlobalDCEPass function. */ 47 void LLVMAddGlobalDCEPass(LLVMPassManagerRef PM); 48 49 /** See llvm::createGlobalOptimizerPass function. */ 50 void LLVMAddGlobalOptimizerPass(LLVMPassManagerRef PM); 51 52 /** See llvm::createIPConstantPropagationPass function. */ 53 void LLVMAddIPConstantPropagationPass(LLVMPassManagerRef PM); 54 55 /** See llvm::createPruneEHPass function. */ 56 void LLVMAddPruneEHPass(LLVMPassManagerRef PM); 57 58 /** See llvm::createIPSCCPPass function. */ 59 void LLVMAddIPSCCPPass(LLVMPassManagerRef PM); 60 61 /** See llvm::createInternalizePass function. */ 62 void LLVMAddInternalizePass(LLVMPassManagerRef, uint AllButMain); 63 64 /** See llvm::createStripDeadPrototypesPass function. */ 65 void LLVMAddStripDeadPrototypesPass(LLVMPassManagerRef PM); 66 67 /** See llvm::createStripSymbolsPass function. */ 68 void LLVMAddStripSymbolsPass(LLVMPassManagerRef PM); 69 70 /** 71 * @} 72 */