Module llvm_ipo

This header declares the C interface to libLLVMIPO.a, which implements various interprocedural transformations of the LLVM IR.

Procs

proc addArgumentPromotionPass(pm: PassManagerRef) {.
    importc: "LLVMAddArgumentPromotionPass", cdecl, dynlib: dllname.}
proc addConstantMergePass(pm: PassManagerRef) {.
    importc: "LLVMAddConstantMergePass", cdecl, dynlib: dllname.}
proc addDeadArgEliminationPass(pm: PassManagerRef) {.
    importc: "LLVMAddDeadArgEliminationPass", cdecl, dynlib: dllname.}
proc addFunctionAttrsPass(pm: PassManagerRef) {.
    importc: "LLVMAddFunctionAttrsPass", cdecl, dynlib: dllname.}
proc addFunctionInliningPass(pm: PassManagerRef) {.
    importc: "LLVMAddFunctionInliningPass", cdecl, dynlib: dllname.}
proc addAlwaysInlinerPass(pm: PassManagerRef) {.
    importc: "LLVMAddAlwaysInlinerPass", cdecl, dynlib: dllname.}
proc addGlobalDCEPass(pm: PassManagerRef) {.importc: "LLVMAddGlobalDCEPass", 
    cdecl, dynlib: dllname.}
proc addGlobalOptimizerPass(pm: PassManagerRef) {.
    importc: "LLVMAddGlobalOptimizerPass", cdecl, dynlib: dllname.}
proc addIPConstantPropagationPass(pm: PassManagerRef) {.
    importc: "LLVMAddIPConstantPropagationPass", cdecl, dynlib: dllname.}
proc addPruneEHPass(pm: PassManagerRef) {.importc: "LLVMAddPruneEHPass", 
    cdecl, dynlib: dllname.}
proc addIPSCCPPass(pm: PassManagerRef) {.importc: "LLVMAddIPSCCPPass", 
    cdecl, dynlib: dllname.}
proc addInternalizePass(pm: PassManagerRef; allButMain: cuint) {.
    importc: "LLVMAddInternalizePass", cdecl, dynlib: dllname.}
proc addStripDeadPrototypesPass(pm: PassManagerRef) {.
    importc: "LLVMAddStripDeadPrototypesPass", cdecl, dynlib: dllname.}
proc addStripSymbolsPass(pm: PassManagerRef) {.
    importc: "LLVMAddStripSymbolsPass", cdecl, dynlib: dllname.}