123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /*===-- llvm-c/Transform/PassManagerBuilder.h - PMB C Interface ---*- C -*-===*\
- |* *|
- |* The LLVM Compiler Infrastructure *|
- |* *|
- |* This file is distributed under the University of Illinois Open Source *|
- |* License. See LICENSE.TXT for details. *|
- |* *|
- |*===----------------------------------------------------------------------===*|
- |* *|
- |* This header declares the C interface to the PassManagerBuilder class. *|
- |* *|
- \*===----------------------------------------------------------------------===*/
- #ifndef LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H
- #define LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H
- #include "llvm-c/Core.h"
- typedef struct LLVMOpaquePassManagerBuilder *LLVMPassManagerBuilderRef;
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * @defgroup LLVMCTransformsPassManagerBuilder Pass manager builder
- * @ingroup LLVMCTransforms
- *
- * @{
- */
- /** See llvm::PassManagerBuilder. */
- LLVMPassManagerBuilderRef LLVMPassManagerBuilderCreate(void);
- void LLVMPassManagerBuilderDispose(LLVMPassManagerBuilderRef PMB);
- /** See llvm::PassManagerBuilder::OptLevel. */
- void
- LLVMPassManagerBuilderSetOptLevel(LLVMPassManagerBuilderRef PMB,
- unsigned OptLevel);
- /** See llvm::PassManagerBuilder::SizeLevel. */
- void
- LLVMPassManagerBuilderSetSizeLevel(LLVMPassManagerBuilderRef PMB,
- unsigned SizeLevel);
- /** See llvm::PassManagerBuilder::DisableUnitAtATime. */
- void
- LLVMPassManagerBuilderSetDisableUnitAtATime(LLVMPassManagerBuilderRef PMB,
- LLVMBool Value);
- /** See llvm::PassManagerBuilder::DisableUnrollLoops. */
- void
- LLVMPassManagerBuilderSetDisableUnrollLoops(LLVMPassManagerBuilderRef PMB,
- LLVMBool Value);
- /** See llvm::PassManagerBuilder::DisableSimplifyLibCalls */
- void
- LLVMPassManagerBuilderSetDisableSimplifyLibCalls(LLVMPassManagerBuilderRef PMB,
- LLVMBool Value);
- /** See llvm::PassManagerBuilder::Inliner. */
- void
- LLVMPassManagerBuilderUseInlinerWithThreshold(LLVMPassManagerBuilderRef PMB,
- unsigned Threshold);
- /** See llvm::PassManagerBuilder::populateFunctionPassManager. */
- void
- LLVMPassManagerBuilderPopulateFunctionPassManager(LLVMPassManagerBuilderRef PMB,
- LLVMPassManagerRef PM);
- /** See llvm::PassManagerBuilder::populateModulePassManager. */
- void
- LLVMPassManagerBuilderPopulateModulePassManager(LLVMPassManagerBuilderRef PMB,
- LLVMPassManagerRef PM);
- /** See llvm::PassManagerBuilder::populateLTOPassManager. */
- void LLVMPassManagerBuilderPopulateLTOPassManager(LLVMPassManagerBuilderRef PMB,
- LLVMPassManagerRef PM,
- LLVMBool Internalize,
- LLVMBool RunInliner);
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif
|