Scalar.cpp revision 199481
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 libLLVMScalarOpts.a, which implements 11// several scalar transformations over the LLVM intermediate representation. 12// 13//===----------------------------------------------------------------------===// 14 15#include "llvm-c/Transforms/Scalar.h" 16#include "llvm/PassManager.h" 17#include "llvm/Transforms/Scalar.h" 18 19using namespace llvm; 20 21void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM) { 22 unwrap(PM)->add(createAggressiveDCEPass()); 23} 24 25void LLVMAddCFGSimplificationPass(LLVMPassManagerRef PM) { 26 unwrap(PM)->add(createCFGSimplificationPass()); 27} 28 29void LLVMAddDeadStoreEliminationPass(LLVMPassManagerRef PM) { 30 unwrap(PM)->add(createDeadStoreEliminationPass()); 31} 32 33void LLVMAddGVNPass(LLVMPassManagerRef PM) { 34 unwrap(PM)->add(createGVNPass()); 35} 36 37void LLVMAddIndVarSimplifyPass(LLVMPassManagerRef PM) { 38 unwrap(PM)->add(createIndVarSimplifyPass()); 39} 40 41void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM) { 42 unwrap(PM)->add(createInstructionCombiningPass()); 43} 44 45void LLVMAddJumpThreadingPass(LLVMPassManagerRef PM) { 46 unwrap(PM)->add(createJumpThreadingPass()); 47} 48 49void LLVMAddLICMPass(LLVMPassManagerRef PM) { 50 unwrap(PM)->add(createLICMPass()); 51} 52 53void LLVMAddLoopDeletionPass(LLVMPassManagerRef PM) { 54 unwrap(PM)->add(createLoopDeletionPass()); 55} 56 57void LLVMAddLoopIndexSplitPass(LLVMPassManagerRef PM) { 58 unwrap(PM)->add(createLoopIndexSplitPass()); 59} 60 61void LLVMAddLoopRotatePass(LLVMPassManagerRef PM) { 62 unwrap(PM)->add(createLoopRotatePass()); 63} 64 65void LLVMAddLoopUnrollPass(LLVMPassManagerRef PM) { 66 unwrap(PM)->add(createLoopUnrollPass()); 67} 68 69void LLVMAddLoopUnswitchPass(LLVMPassManagerRef PM) { 70 unwrap(PM)->add(createLoopUnswitchPass()); 71} 72 73void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM) { 74 unwrap(PM)->add(createMemCpyOptPass()); 75} 76 77void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM) { 78 unwrap(PM)->add(createPromoteMemoryToRegisterPass()); 79} 80 81void LLVMAddReassociatePass(LLVMPassManagerRef PM) { 82 unwrap(PM)->add(createReassociatePass()); 83} 84 85void LLVMAddSCCPPass(LLVMPassManagerRef PM) { 86 unwrap(PM)->add(createSCCPPass()); 87} 88 89void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM) { 90 unwrap(PM)->add(createScalarReplAggregatesPass()); 91} 92 93void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM) { 94 unwrap(PM)->add(createSimplifyLibCallsPass()); 95} 96 97void LLVMAddTailCallEliminationPass(LLVMPassManagerRef PM) { 98 unwrap(PM)->add(createTailCallEliminationPass()); 99} 100 101void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM) { 102 unwrap(PM)->add(createConstantPropagationPass()); 103} 104 105void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM) { 106 unwrap(PM)->add(createDemoteRegisterToMemoryPass()); 107} 108