mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 10:04:33 +00:00
cca8dbee4e
Type specific declarations have been moved to Type.h and error handling routines have been moved to ErrorHandling.h. Both are included in Core.h so nothing should change for projects directly including the headers, but transitive dependencies may be affected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255965 91177308-0d34-0410-b5e6-96231b3b80d8
91 lines
3.4 KiB
C
91 lines
3.4 KiB
C
/*===-- 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/Types.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
|