LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
include
llvm-c
Transforms
c/Transforms/Scalar.h
Go to the documentation of this file.
1
/*===-- Scalar.h - Scalar Transformation Library 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 libLLVMScalarOpts.a, which *|
11
|* implements various scalar transformations of the LLVM IR. *|
12
|* *|
13
|* Many exotic languages can interoperate with C code but have a harder time *|
14
|* with C++ due to name mangling. So in addition to C, this interface enables *|
15
|* tools written in such languages. *|
16
|* *|
17
\*===----------------------------------------------------------------------===*/
18
19
#ifndef LLVM_C_TRANSFORMS_SCALAR_H
20
#define LLVM_C_TRANSFORMS_SCALAR_H
21
22
#include "
llvm-c/Types.h
"
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
28
/**
29
* @defgroup LLVMCTransformsScalar Scalar transformations
30
* @ingroup LLVMCTransforms
31
*
32
* @{
33
*/
34
35
/** See llvm::createAggressiveDCEPass function. */
36
void
LLVMAddAggressiveDCEPass
(
LLVMPassManagerRef
PM);
37
38
/** See llvm::createBitTrackingDCEPass function. */
39
void
LLVMAddBitTrackingDCEPass
(
LLVMPassManagerRef
PM);
40
41
/** See llvm::createAlignmentFromAssumptionsPass function. */
42
void
LLVMAddAlignmentFromAssumptionsPass
(
LLVMPassManagerRef
PM);
43
44
/** See llvm::createCFGSimplificationPass function. */
45
void
LLVMAddCFGSimplificationPass
(
LLVMPassManagerRef
PM);
46
47
/** See llvm::createDeadStoreEliminationPass function. */
48
void
LLVMAddDeadStoreEliminationPass
(
LLVMPassManagerRef
PM);
49
50
/** See llvm::createScalarizerPass function. */
51
void
LLVMAddScalarizerPass
(
LLVMPassManagerRef
PM);
52
53
/** See llvm::createMergedLoadStoreMotionPass function. */
54
void
LLVMAddMergedLoadStoreMotionPass
(
LLVMPassManagerRef
PM);
55
56
/** See llvm::createGVNPass function. */
57
void
LLVMAddGVNPass
(
LLVMPassManagerRef
PM);
58
59
/** See llvm::createGVNPass function. */
60
void
LLVMAddNewGVNPass
(
LLVMPassManagerRef
PM);
61
62
/** See llvm::createIndVarSimplifyPass function. */
63
void
LLVMAddIndVarSimplifyPass
(
LLVMPassManagerRef
PM);
64
65
/** See llvm::createInstructionCombiningPass function. */
66
void
LLVMAddInstructionCombiningPass
(
LLVMPassManagerRef
PM);
67
68
/** See llvm::createJumpThreadingPass function. */
69
void
LLVMAddJumpThreadingPass
(
LLVMPassManagerRef
PM);
70
71
/** See llvm::createLICMPass function. */
72
void
LLVMAddLICMPass
(
LLVMPassManagerRef
PM);
73
74
/** See llvm::createLoopDeletionPass function. */
75
void
LLVMAddLoopDeletionPass
(
LLVMPassManagerRef
PM);
76
77
/** See llvm::createLoopIdiomPass function */
78
void
LLVMAddLoopIdiomPass
(
LLVMPassManagerRef
PM);
79
80
/** See llvm::createLoopRotatePass function. */
81
void
LLVMAddLoopRotatePass
(
LLVMPassManagerRef
PM);
82
83
/** See llvm::createLoopRerollPass function. */
84
void
LLVMAddLoopRerollPass
(
LLVMPassManagerRef
PM);
85
86
/** See llvm::createLoopUnrollPass function. */
87
void
LLVMAddLoopUnrollPass
(
LLVMPassManagerRef
PM);
88
89
/** See llvm::createLoopUnswitchPass function. */
90
void
LLVMAddLoopUnswitchPass
(
LLVMPassManagerRef
PM);
91
92
/** See llvm::createMemCpyOptPass function. */
93
void
LLVMAddMemCpyOptPass
(
LLVMPassManagerRef
PM);
94
95
/** See llvm::createPartiallyInlineLibCallsPass function. */
96
void
LLVMAddPartiallyInlineLibCallsPass
(
LLVMPassManagerRef
PM);
97
98
/** See llvm::createLowerSwitchPass function. */
99
void
LLVMAddLowerSwitchPass
(
LLVMPassManagerRef
PM);
100
101
/** See llvm::createPromoteMemoryToRegisterPass function. */
102
void
LLVMAddPromoteMemoryToRegisterPass
(
LLVMPassManagerRef
PM);
103
104
/** See llvm::createReassociatePass function. */
105
void
LLVMAddReassociatePass
(
LLVMPassManagerRef
PM);
106
107
/** See llvm::createSCCPPass function. */
108
void
LLVMAddSCCPPass
(
LLVMPassManagerRef
PM);
109
110
/** See llvm::createSROAPass function. */
111
void
LLVMAddScalarReplAggregatesPass
(
LLVMPassManagerRef
PM);
112
113
/** See llvm::createSROAPass function. */
114
void
LLVMAddScalarReplAggregatesPassSSA
(
LLVMPassManagerRef
PM);
115
116
/** See llvm::createSROAPass function. */
117
void
LLVMAddScalarReplAggregatesPassWithThreshold
(
LLVMPassManagerRef
PM,
118
int
Threshold
);
119
120
/** See llvm::createSimplifyLibCallsPass function. */
121
void
LLVMAddSimplifyLibCallsPass
(
LLVMPassManagerRef
PM);
122
123
/** See llvm::createTailCallEliminationPass function. */
124
void
LLVMAddTailCallEliminationPass
(
LLVMPassManagerRef
PM);
125
126
/** See llvm::createConstantPropagationPass function. */
127
void
LLVMAddConstantPropagationPass
(
LLVMPassManagerRef
PM);
128
129
/** See llvm::demotePromoteMemoryToRegisterPass function. */
130
void
LLVMAddDemoteMemoryToRegisterPass
(
LLVMPassManagerRef
PM);
131
132
/** See llvm::createVerifierPass function. */
133
void
LLVMAddVerifierPass
(
LLVMPassManagerRef
PM);
134
135
/** See llvm::createCorrelatedValuePropagationPass function */
136
void
LLVMAddCorrelatedValuePropagationPass
(
LLVMPassManagerRef
PM);
137
138
/** See llvm::createEarlyCSEPass function */
139
void
LLVMAddEarlyCSEPass
(
LLVMPassManagerRef
PM);
140
141
/** See llvm::createEarlyCSEPass function */
142
void
LLVMAddEarlyCSEMemSSAPass
(
LLVMPassManagerRef
PM);
143
144
/** See llvm::createLowerExpectIntrinsicPass function */
145
void
LLVMAddLowerExpectIntrinsicPass
(
LLVMPassManagerRef
PM);
146
147
/** See llvm::createTypeBasedAliasAnalysisPass function */
148
void
LLVMAddTypeBasedAliasAnalysisPass
(
LLVMPassManagerRef
PM);
149
150
/** See llvm::createScopedNoAliasAAPass function */
151
void
LLVMAddScopedNoAliasAAPass
(
LLVMPassManagerRef
PM);
152
153
/** See llvm::createBasicAliasAnalysisPass function */
154
void
LLVMAddBasicAliasAnalysisPass
(
LLVMPassManagerRef
PM);
155
156
/**
157
* @}
158
*/
159
160
#ifdef __cplusplus
161
}
162
#endif
/* defined(__cplusplus) */
163
164
#endif
LLVMAddJumpThreadingPass
void LLVMAddJumpThreadingPass(LLVMPassManagerRef PM)
See llvm::createJumpThreadingPass function.
Definition:
Scalar.cpp:146
LLVMAddGVNPass
void LLVMAddGVNPass(LLVMPassManagerRef PM)
See llvm::createGVNPass function.
Definition:
Scalar.cpp:126
LLVMAddLICMPass
void LLVMAddLICMPass(LLVMPassManagerRef PM)
See llvm::createLICMPass function.
Definition:
Scalar.cpp:154
LLVMAddSimplifyLibCallsPass
void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM)
See llvm::createSimplifyLibCallsPass function.
Definition:
Scalar.cpp:223
LLVMAddTypeBasedAliasAnalysisPass
void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM)
See llvm::createTypeBasedAliasAnalysisPass function.
Definition:
Scalar.cpp:259
LLVMAddEarlyCSEMemSSAPass
void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM)
See llvm::createEarlyCSEPass function.
Definition:
Scalar.cpp:251
LLVMAddReassociatePass
void LLVMAddReassociatePass(LLVMPassManagerRef PM)
See llvm::createReassociatePass function.
Definition:
Scalar.cpp:202
LLVMAddLowerSwitchPass
void LLVMAddLowerSwitchPass(LLVMPassManagerRef PM)
See llvm::createLowerSwitchPass function.
Definition:
Scalar.cpp:194
LLVMAddConstantPropagationPass
void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM)
See llvm::createConstantPropagationPass function.
Definition:
Scalar.cpp:231
LLVMAddNewGVNPass
void LLVMAddNewGVNPass(LLVMPassManagerRef PM)
See llvm::createGVNPass function.
Definition:
Scalar.cpp:130
LLVMAddPromoteMemoryToRegisterPass
void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM)
See llvm::createPromoteMemoryToRegisterPass function.
Definition:
Scalar.cpp:198
LLVMAddLoopUnrollPass
void LLVMAddLoopUnrollPass(LLVMPassManagerRef PM)
See llvm::createLoopUnrollPass function.
Definition:
Scalar.cpp:178
LLVMAddScalarizerPass
void LLVMAddScalarizerPass(LLVMPassManagerRef PM)
See llvm::createScalarizerPass function.
Definition:
Scalar.cpp:122
LLVMAddScalarReplAggregatesPassSSA
void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM)
See llvm::createSROAPass function.
Definition:
Scalar.cpp:214
LLVMAddMergedLoadStoreMotionPass
void LLVMAddMergedLoadStoreMotionPass(LLVMPassManagerRef PM)
See llvm::createMergedLoadStoreMotionPass function.
Definition:
Scalar.cpp:134
LLVMAddScopedNoAliasAAPass
void LLVMAddScopedNoAliasAAPass(LLVMPassManagerRef PM)
See llvm::createScopedNoAliasAAPass function.
Definition:
Scalar.cpp:263
LLVMAddLoopRerollPass
void LLVMAddLoopRerollPass(LLVMPassManagerRef PM)
See llvm::createLoopRerollPass function.
Definition:
Scalar.cpp:170
LLVMAddDeadStoreEliminationPass
void LLVMAddDeadStoreEliminationPass(LLVMPassManagerRef PM)
See llvm::createDeadStoreEliminationPass function.
Definition:
Scalar.cpp:118
LLVMAddAlignmentFromAssumptionsPass
void LLVMAddAlignmentFromAssumptionsPass(LLVMPassManagerRef PM)
See llvm::createAlignmentFromAssumptionsPass function.
Definition:
Scalar.cpp:110
LLVMAddLoopRotatePass
void LLVMAddLoopRotatePass(LLVMPassManagerRef PM)
See llvm::createLoopRotatePass function.
Definition:
Scalar.cpp:166
LLVMAddScalarReplAggregatesPassWithThreshold
void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM, int Threshold)
See llvm::createSROAPass function.
Definition:
Scalar.cpp:218
LLVMAddLoopDeletionPass
void LLVMAddLoopDeletionPass(LLVMPassManagerRef PM)
See llvm::createLoopDeletionPass function.
Definition:
Scalar.cpp:158
LLVMAddEarlyCSEPass
void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM)
See llvm::createEarlyCSEPass function.
Definition:
Scalar.cpp:247
LLVMAddScalarReplAggregatesPass
void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM)
See llvm::createSROAPass function.
Definition:
Scalar.cpp:210
LLVMAddLoopIdiomPass
void LLVMAddLoopIdiomPass(LLVMPassManagerRef PM)
See llvm::createLoopIdiomPass function.
Definition:
Scalar.cpp:162
LLVMAddInstructionCombiningPass
void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM)
See llvm::createInstructionCombiningPass function.
Definition:
Scalar.cpp:142
LLVMAddSCCPPass
void LLVMAddSCCPPass(LLVMPassManagerRef PM)
See llvm::createSCCPPass function.
Definition:
Scalar.cpp:206
LLVMAddVerifierPass
void LLVMAddVerifierPass(LLVMPassManagerRef PM)
See llvm::createVerifierPass function.
Definition:
Scalar.cpp:239
LLVMPassManagerRef
struct LLVMOpaquePassManager * LLVMPassManagerRef
Definition:
c/Types.h:100
LLVMAddDemoteMemoryToRegisterPass
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM)
See llvm::demotePromoteMemoryToRegisterPass function.
Definition:
Scalar.cpp:235
LLVMAddBasicAliasAnalysisPass
void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM)
See llvm::createBasicAliasAnalysisPass function.
Definition:
Scalar.cpp:267
LLVMAddBitTrackingDCEPass
void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM)
See llvm::createBitTrackingDCEPass function.
Definition:
Scalar.cpp:106
LLVMAddCorrelatedValuePropagationPass
void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM)
See llvm::createCorrelatedValuePropagationPass function.
Definition:
Scalar.cpp:243
LLVMAddLowerExpectIntrinsicPass
void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM)
See llvm::createLowerExpectIntrinsicPass function.
Definition:
Scalar.cpp:271
LLVMAddIndVarSimplifyPass
void LLVMAddIndVarSimplifyPass(LLVMPassManagerRef PM)
See llvm::createIndVarSimplifyPass function.
Definition:
Scalar.cpp:138
LLVMAddTailCallEliminationPass
void LLVMAddTailCallEliminationPass(LLVMPassManagerRef PM)
See llvm::createTailCallEliminationPass function.
Definition:
Scalar.cpp:227
LLVMAddPartiallyInlineLibCallsPass
void LLVMAddPartiallyInlineLibCallsPass(LLVMPassManagerRef PM)
See llvm::createPartiallyInlineLibCallsPass function.
Definition:
Scalar.cpp:190
Threshold
static int const Threshold
TODO: Write a new FunctionPass AliasAnalysis so that it can keep a cache.
Definition:
CaptureTracking.cpp:212
LLVMAddLoopUnswitchPass
void LLVMAddLoopUnswitchPass(LLVMPassManagerRef PM)
See llvm::createLoopUnswitchPass function.
Definition:
Scalar.cpp:182
LLVMAddCFGSimplificationPass
void LLVMAddCFGSimplificationPass(LLVMPassManagerRef PM)
See llvm::createCFGSimplificationPass function.
Definition:
Scalar.cpp:114
LLVMAddMemCpyOptPass
void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM)
See llvm::createMemCpyOptPass function.
Definition:
Scalar.cpp:186
LLVMAddAggressiveDCEPass
void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM)
See llvm::createAggressiveDCEPass function.
Definition:
Scalar.cpp:102
Types.h
Generated on Wed Mar 8 2017 17:22:38 for LLVM by
1.8.6