IPO.h revision 193323
113687Swosch/*===-- IPO.h - Interprocedural Transformations C Interface -----*- C++ -*-===*\ 213687Swosch|* *| 313687Swosch|* The LLVM Compiler Infrastructure *| 450477Speter|* *| 513687Swosch|* This file is distributed under the University of Illinois Open Source *| 613687Swosch|* License. See LICENSE.TXT for details. *| 778047Sache|* *| 878047Sache|*===----------------------------------------------------------------------===*| 913687Swosch|* *| 1078047Sache|* This header declares the C interface to libLLVMIPO.a, which implements *| 1115714Sache|* various interprocedural transformations of the LLVM IR. *| 1213687Swosch|* *| 1313687Swosch\*===----------------------------------------------------------------------===*/ 1413687Swosch 1513687Swosch#ifndef LLVM_C_TRANSFORMS_IPO_H 1613687Swosch#define LLVM_C_TRANSFORMS_IPO_H 17120931Sgrog 1813687Swosch#include "llvm-c/Core.h" 19157788Sbrueffer 2013687Swosch#ifdef __cplusplus 2113687Swoschextern "C" { 2213687Swosch#endif 2313687Swosch 24120931Sgrog/** See llvm::createArgumentPromotionPass function. */ 2513687Swoschvoid LLVMAddArgumentPromotionPass(LLVMPassManagerRef PM); 26157876Sbrueffer 27157876Sbrueffer/** See llvm::createConstantMergePass function. */ 28120931Sgrogvoid LLVMAddConstantMergePass(LLVMPassManagerRef PM); 29157876Sbrueffer 30157876Sbrueffer/** See llvm::createDeadArgEliminationPass function. */ 31157876Sbrueffervoid LLVMAddDeadArgEliminationPass(LLVMPassManagerRef PM); 32162910Smaxim 33120931Sgrog/** See llvm::createDeadTypeEliminationPass function. */ 34157876Sbrueffervoid LLVMAddDeadTypeEliminationPass(LLVMPassManagerRef PM); 35157876Sbrueffer 36157876Sbrueffer/** See llvm::createFunctionAttrsPass function. */ 37157876Sbrueffervoid LLVMAddFunctionAttrsPass(LLVMPassManagerRef PM); 38120931Sgrog 3913687Swosch/** See llvm::createFunctionInliningPass function. */ 4013687Swoschvoid LLVMAddFunctionInliningPass(LLVMPassManagerRef PM); 41162909Smaxim 4213687Swosch/** See llvm::createGlobalDCEPass function. */ 4313687Swoschvoid LLVMAddGlobalDCEPass(LLVMPassManagerRef PM); 44103774Sgrog 4513687Swosch/** See llvm::createGlobalOptimizerPass function. */ 46103774Sgrogvoid LLVMAddGlobalOptimizerPass(LLVMPassManagerRef PM); 47162910Smaxim 4813687Swosch/** See llvm::createIPConstantPropagationPass function. */ 4913687Swoschvoid LLVMAddIPConstantPropagationPass(LLVMPassManagerRef PM); 5013687Swosch 5113687Swosch/** See llvm::createLowerSetJmpPass function. */ 5213687Swoschvoid LLVMAddLowerSetJmpPass(LLVMPassManagerRef PM); 5313842Swosch 5413842Swosch/** See llvm::createPruneEHPass function. */ 5513842Swoschvoid LLVMAddPruneEHPass(LLVMPassManagerRef PM); 5678047Sache 57/** See llvm::createRaiseAllocationsPass function. */ 58void LLVMAddRaiseAllocationsPass(LLVMPassManagerRef PM); 59 60/** See llvm::createStripDeadPrototypesPass function. */ 61void LLVMAddStripDeadPrototypesPass(LLVMPassManagerRef PM); 62 63/** See llvm::createStripSymbolsPass function. */ 64void LLVMAddStripSymbolsPass(LLVMPassManagerRef PM); 65 66#ifdef __cplusplus 67} 68#endif /* defined(__cplusplus) */ 69 70#endif 71