IPO.cpp revision 57c03831ccaabd619d1d7eb164375e7e3027031d
1//===-- Scalar.cpp --------------------------------------------------------===// 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 file implements the C bindings for libLLVMIPO.a, which implements 11// several transformations over the LLVM intermediate representation. 12// 13//===----------------------------------------------------------------------===// 14 15#include "llvm-c/Transforms/IPO.h" 16#include "llvm/PassManager.h" 17#include "llvm/Transforms/IPO.h" 18 19using namespace llvm; 20 21void LLVMAddArgumentPromotionPass(LLVMPassManagerRef PM) { 22 unwrap(PM)->add(createArgumentPromotionPass()); 23} 24 25void LLVMAddConstantMergePass(LLVMPassManagerRef PM) { 26 unwrap(PM)->add(createConstantMergePass()); 27} 28 29void LLVMAddDeadArgEliminationPass(LLVMPassManagerRef PM) { 30 unwrap(PM)->add(createDeadArgEliminationPass()); 31} 32 33void LLVMAddDeadTypeEliminationPass(LLVMPassManagerRef PM) { 34 unwrap(PM)->add(createDeadTypeEliminationPass()); 35} 36 37void LLVMAddFunctionAttrsPass(LLVMPassManagerRef PM) { 38 unwrap(PM)->add(createFunctionAttrsPass()); 39} 40 41void LLVMAddFunctionInliningPass(LLVMPassManagerRef PM) { 42 unwrap(PM)->add(createFunctionInliningPass()); 43} 44 45void LLVMAddGlobalDCEPass(LLVMPassManagerRef PM) { 46 unwrap(PM)->add(createGlobalDCEPass()); 47} 48 49void LLVMAddGlobalOptimizerPass(LLVMPassManagerRef PM) { 50 unwrap(PM)->add(createGlobalOptimizerPass()); 51} 52 53void LLVMAddIPConstantPropagationPass(LLVMPassManagerRef PM) { 54 unwrap(PM)->add(createIPConstantPropagationPass()); 55} 56 57void LLVMAddLowerSetJmpPass(LLVMPassManagerRef PM) { 58 unwrap(PM)->add(createLowerSetJmpPass()); 59} 60 61void LLVMAddPruneEHPass(LLVMPassManagerRef PM) { 62 unwrap(PM)->add(createPruneEHPass()); 63} 64 65void LLVMAddRaiseAllocationsPass(LLVMPassManagerRef PM) { 66 unwrap(PM)->add(createRaiseAllocationsPass()); 67} 68 69void LLVMAddStripDeadPrototypesPass(LLVMPassManagerRef PM) { 70 unwrap(PM)->add(createStripDeadPrototypesPass()); 71} 72 73void LLVMAddStripSymbolsPass(LLVMPassManagerRef PM) { 74 unwrap(PM)->add(createStripSymbolsPass()); 75} 76