1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #pragma once
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wunused-parameter"
- #endif
- /*===-- llvm-c/Transform/PassManagerBuilder.h - PMB C Interface ---*- C -*-===*\
- |* *|
- |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
- |* Exceptions. *|
- |* See https://llvm.org/LICENSE.txt for license information. *|
- |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
- |* *|
- |*===----------------------------------------------------------------------===*|
- |* *|
- |* 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/ExternC.h"
- #include "llvm-c/Types.h"
- typedef struct LLVMOpaquePassManagerBuilder *LLVMPassManagerBuilderRef;
- LLVM_C_EXTERN_C_BEGIN
- /**
- * @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);
- /**
- * @}
- */
- LLVM_C_EXTERN_C_END
- #endif
- #ifdef __GNUC__
- #pragma GCC diagnostic pop
- #endif
|