~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to include/llvm-c/Transforms/PassManagerBuilder.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*===-- llvm-c/Transform/PassManagerBuilder.h - PMB C Interface ---*- C -*-===*\
 
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 header declares the C interface to the PassManagerBuilder class.      *|
 
11
|*                                                                            *|
 
12
\*===----------------------------------------------------------------------===*/
 
13
 
 
14
#ifndef LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H
 
15
#define LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H
 
16
 
 
17
#include "llvm-c/Core.h"
 
18
 
 
19
typedef struct LLVMOpaquePassManagerBuilder *LLVMPassManagerBuilderRef;
 
20
 
 
21
#ifdef __cplusplus
 
22
extern "C" {
 
23
#endif
 
24
 
 
25
/**
 
26
 * @defgroup LLVMCTransformsPassManagerBuilder Pass manager builder
 
27
 * @ingroup LLVMCTransforms
 
28
 *
 
29
 * @{
 
30
 */
 
31
 
 
32
/** See llvm::PassManagerBuilder. */
 
33
LLVMPassManagerBuilderRef LLVMPassManagerBuilderCreate(void);
 
34
void LLVMPassManagerBuilderDispose(LLVMPassManagerBuilderRef PMB);
 
35
 
 
36
/** See llvm::PassManagerBuilder::OptLevel. */
 
37
void
 
38
LLVMPassManagerBuilderSetOptLevel(LLVMPassManagerBuilderRef PMB,
 
39
                                  unsigned OptLevel);
 
40
 
 
41
/** See llvm::PassManagerBuilder::SizeLevel. */
 
42
void
 
43
LLVMPassManagerBuilderSetSizeLevel(LLVMPassManagerBuilderRef PMB,
 
44
                                   unsigned SizeLevel);
 
45
 
 
46
/** See llvm::PassManagerBuilder::DisableUnitAtATime. */
 
47
void
 
48
LLVMPassManagerBuilderSetDisableUnitAtATime(LLVMPassManagerBuilderRef PMB,
 
49
                                            LLVMBool Value);
 
50
 
 
51
/** See llvm::PassManagerBuilder::DisableUnrollLoops. */
 
52
void
 
53
LLVMPassManagerBuilderSetDisableUnrollLoops(LLVMPassManagerBuilderRef PMB,
 
54
                                            LLVMBool Value);
 
55
 
 
56
/** See llvm::PassManagerBuilder::DisableSimplifyLibCalls */
 
57
void
 
58
LLVMPassManagerBuilderSetDisableSimplifyLibCalls(LLVMPassManagerBuilderRef PMB,
 
59
                                                 LLVMBool Value);
 
60
 
 
61
/** See llvm::PassManagerBuilder::Inliner. */
 
62
void
 
63
LLVMPassManagerBuilderUseInlinerWithThreshold(LLVMPassManagerBuilderRef PMB,
 
64
                                              unsigned Threshold);
 
65
 
 
66
/** See llvm::PassManagerBuilder::populateFunctionPassManager. */
 
67
void
 
68
LLVMPassManagerBuilderPopulateFunctionPassManager(LLVMPassManagerBuilderRef PMB,
 
69
                                                  LLVMPassManagerRef PM);
 
70
 
 
71
/** See llvm::PassManagerBuilder::populateModulePassManager. */
 
72
void
 
73
LLVMPassManagerBuilderPopulateModulePassManager(LLVMPassManagerBuilderRef PMB,
 
74
                                                LLVMPassManagerRef PM);
 
75
 
 
76
/** See llvm::PassManagerBuilder::populateLTOPassManager. */
 
77
void LLVMPassManagerBuilderPopulateLTOPassManager(LLVMPassManagerBuilderRef PMB,
 
78
                                                  LLVMPassManagerRef PM,
 
79
                                                  LLVMBool Internalize,
 
80
                                                  LLVMBool RunInliner);
 
81
 
 
82
/**
 
83
 * @}
 
84
 */
 
85
 
 
86
#ifdef __cplusplus
 
87
}
 
88
#endif
 
89
 
 
90
#endif