LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
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/Core.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::createIndVarSimplifyPass function. */
60
void
LLVMAddIndVarSimplifyPass
(
LLVMPassManagerRef
PM);
61
62
/** See llvm::createInstructionCombiningPass function. */
63
void
LLVMAddInstructionCombiningPass
(
LLVMPassManagerRef
PM);
64
65
/** See llvm::createJumpThreadingPass function. */
66
void
LLVMAddJumpThreadingPass
(
LLVMPassManagerRef
PM);
67
68
/** See llvm::createLICMPass function. */
69
void
LLVMAddLICMPass
(
LLVMPassManagerRef
PM);
70
71
/** See llvm::createLoopDeletionPass function. */
72
void
LLVMAddLoopDeletionPass
(
LLVMPassManagerRef
PM);
73
74
/** See llvm::createLoopIdiomPass function */
75
void
LLVMAddLoopIdiomPass
(
LLVMPassManagerRef
PM);
76
77
/** See llvm::createLoopRotatePass function. */
78
void
LLVMAddLoopRotatePass
(
LLVMPassManagerRef
PM);
79
80
/** See llvm::createLoopRerollPass function. */
81
void
LLVMAddLoopRerollPass
(
LLVMPassManagerRef
PM);
82
83
/** See llvm::createLoopUnrollPass function. */
84
void
LLVMAddLoopUnrollPass
(
LLVMPassManagerRef
PM);
85
86
/** See llvm::createLoopUnswitchPass function. */
87
void
LLVMAddLoopUnswitchPass
(
LLVMPassManagerRef
PM);
88
89
/** See llvm::createMemCpyOptPass function. */
90
void
LLVMAddMemCpyOptPass
(
LLVMPassManagerRef
PM);
91
92
/** See llvm::createPartiallyInlineLibCallsPass function. */
93
void
LLVMAddPartiallyInlineLibCallsPass
(
LLVMPassManagerRef
PM);
94
95
/** See llvm::createLowerSwitchPass function. */
96
void
LLVMAddLowerSwitchPass
(
LLVMPassManagerRef
PM);
97
98
/** See llvm::createPromoteMemoryToRegisterPass function. */
99
void
LLVMAddPromoteMemoryToRegisterPass
(
LLVMPassManagerRef
PM);
100
101
/** See llvm::createReassociatePass function. */
102
void
LLVMAddReassociatePass
(
LLVMPassManagerRef
PM);
103
104
/** See llvm::createSCCPPass function. */
105
void
LLVMAddSCCPPass
(
LLVMPassManagerRef
PM);
106
107
/** See llvm::createScalarReplAggregatesPass function. */
108
void
LLVMAddScalarReplAggregatesPass
(
LLVMPassManagerRef
PM);
109
110
/** See llvm::createScalarReplAggregatesPass function. */
111
void
LLVMAddScalarReplAggregatesPassSSA
(
LLVMPassManagerRef
PM);
112
113
/** See llvm::createScalarReplAggregatesPass function. */
114
void
LLVMAddScalarReplAggregatesPassWithThreshold
(
LLVMPassManagerRef
PM,
115
int
Threshold
);
116
117
/** See llvm::createSimplifyLibCallsPass function. */
118
void
LLVMAddSimplifyLibCallsPass
(
LLVMPassManagerRef
PM);
119
120
/** See llvm::createTailCallEliminationPass function. */
121
void
LLVMAddTailCallEliminationPass
(
LLVMPassManagerRef
PM);
122
123
/** See llvm::createConstantPropagationPass function. */
124
void
LLVMAddConstantPropagationPass
(
LLVMPassManagerRef
PM);
125
126
/** See llvm::demotePromoteMemoryToRegisterPass function. */
127
void
LLVMAddDemoteMemoryToRegisterPass
(
LLVMPassManagerRef
PM);
128
129
/** See llvm::createVerifierPass function. */
130
void
LLVMAddVerifierPass
(
LLVMPassManagerRef
PM);
131
132
/** See llvm::createCorrelatedValuePropagationPass function */
133
void
LLVMAddCorrelatedValuePropagationPass
(
LLVMPassManagerRef
PM);
134
135
/** See llvm::createEarlyCSEPass function */
136
void
LLVMAddEarlyCSEPass
(
LLVMPassManagerRef
PM);
137
138
/** See llvm::createLowerExpectIntrinsicPass function */
139
void
LLVMAddLowerExpectIntrinsicPass
(
LLVMPassManagerRef
PM);
140
141
/** See llvm::createTypeBasedAliasAnalysisPass function */
142
void
LLVMAddTypeBasedAliasAnalysisPass
(
LLVMPassManagerRef
PM);
143
144
/** See llvm::createScopedNoAliasAAPass function */
145
void
LLVMAddScopedNoAliasAAPass
(
LLVMPassManagerRef
PM);
146
147
/** See llvm::createBasicAliasAnalysisPass function */
148
void
LLVMAddBasicAliasAnalysisPass
(
LLVMPassManagerRef
PM);
149
150
/**
151
* @}
152
*/
153
154
#ifdef __cplusplus
155
}
156
#endif
/* defined(__cplusplus) */
157
158
#endif
LLVMAddJumpThreadingPass
void LLVMAddJumpThreadingPass(LLVMPassManagerRef PM)
See llvm::createJumpThreadingPass function.
Definition:
Scalar.cpp:130
LLVMAddGVNPass
void LLVMAddGVNPass(LLVMPassManagerRef PM)
See llvm::createGVNPass function.
Definition:
Scalar.cpp:114
LLVMAddLICMPass
void LLVMAddLICMPass(LLVMPassManagerRef PM)
See llvm::createLICMPass function.
Definition:
Scalar.cpp:134
LLVMAddSimplifyLibCallsPass
void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM)
See llvm::createSimplifyLibCallsPass function.
Definition:
Scalar.cpp:199
LLVMAddTypeBasedAliasAnalysisPass
void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM)
See llvm::createTypeBasedAliasAnalysisPass function.
Definition:
Scalar.cpp:227
LLVMAddReassociatePass
void LLVMAddReassociatePass(LLVMPassManagerRef PM)
See llvm::createReassociatePass function.
Definition:
Scalar.cpp:178
LLVMAddLowerSwitchPass
void LLVMAddLowerSwitchPass(LLVMPassManagerRef PM)
See llvm::createLowerSwitchPass function.
Definition:
Scalar.cpp:170
LLVMAddConstantPropagationPass
void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM)
See llvm::createConstantPropagationPass function.
Definition:
Scalar.cpp:207
LLVMAddPromoteMemoryToRegisterPass
void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM)
See llvm::createPromoteMemoryToRegisterPass function.
Definition:
Scalar.cpp:174
LLVMAddLoopUnrollPass
void LLVMAddLoopUnrollPass(LLVMPassManagerRef PM)
See llvm::createLoopUnrollPass function.
Definition:
Scalar.cpp:154
LLVMAddScalarizerPass
void LLVMAddScalarizerPass(LLVMPassManagerRef PM)
See llvm::createScalarizerPass function.
Definition:
Scalar.cpp:110
LLVMAddScalarReplAggregatesPassSSA
void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM)
See llvm::createScalarReplAggregatesPass function.
Definition:
Scalar.cpp:190
Core.h
LLVMAddMergedLoadStoreMotionPass
void LLVMAddMergedLoadStoreMotionPass(LLVMPassManagerRef PM)
See llvm::createMergedLoadStoreMotionPass function.
Definition:
Scalar.cpp:118
LLVMAddScopedNoAliasAAPass
void LLVMAddScopedNoAliasAAPass(LLVMPassManagerRef PM)
See llvm::createScopedNoAliasAAPass function.
Definition:
Scalar.cpp:231
LLVMAddLoopRerollPass
void LLVMAddLoopRerollPass(LLVMPassManagerRef PM)
See llvm::createLoopRerollPass function.
Definition:
Scalar.cpp:150
LLVMAddDeadStoreEliminationPass
void LLVMAddDeadStoreEliminationPass(LLVMPassManagerRef PM)
See llvm::createDeadStoreEliminationPass function.
Definition:
Scalar.cpp:106
LLVMAddAlignmentFromAssumptionsPass
void LLVMAddAlignmentFromAssumptionsPass(LLVMPassManagerRef PM)
See llvm::createAlignmentFromAssumptionsPass function.
Definition:
Scalar.cpp:98
LLVMAddLoopRotatePass
void LLVMAddLoopRotatePass(LLVMPassManagerRef PM)
See llvm::createLoopRotatePass function.
Definition:
Scalar.cpp:146
LLVMAddScalarReplAggregatesPassWithThreshold
void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM, int Threshold)
See llvm::createScalarReplAggregatesPass function.
Definition:
Scalar.cpp:194
LLVMAddLoopDeletionPass
void LLVMAddLoopDeletionPass(LLVMPassManagerRef PM)
See llvm::createLoopDeletionPass function.
Definition:
Scalar.cpp:138
LLVMAddEarlyCSEPass
void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM)
See llvm::createEarlyCSEPass function.
Definition:
Scalar.cpp:223
LLVMAddScalarReplAggregatesPass
void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM)
See llvm::createScalarReplAggregatesPass function.
Definition:
Scalar.cpp:186
LLVMAddLoopIdiomPass
void LLVMAddLoopIdiomPass(LLVMPassManagerRef PM)
See llvm::createLoopIdiomPass function.
Definition:
Scalar.cpp:142
LLVMAddInstructionCombiningPass
void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM)
See llvm::createInstructionCombiningPass function.
Definition:
Scalar.cpp:126
LLVMAddSCCPPass
void LLVMAddSCCPPass(LLVMPassManagerRef PM)
See llvm::createSCCPPass function.
Definition:
Scalar.cpp:182
LLVMAddVerifierPass
void LLVMAddVerifierPass(LLVMPassManagerRef PM)
See llvm::createVerifierPass function.
Definition:
Scalar.cpp:215
LLVMAddDemoteMemoryToRegisterPass
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM)
See llvm::demotePromoteMemoryToRegisterPass function.
Definition:
Scalar.cpp:211
LLVMAddBasicAliasAnalysisPass
void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM)
See llvm::createBasicAliasAnalysisPass function.
Definition:
Scalar.cpp:235
LLVMAddBitTrackingDCEPass
void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM)
See llvm::createBitTrackingDCEPass function.
Definition:
Scalar.cpp:94
LLVMPassManagerRef
struct LLVMOpaquePassManager * LLVMPassManagerRef
Definition:
Core.h:116
LLVMAddCorrelatedValuePropagationPass
void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM)
See llvm::createCorrelatedValuePropagationPass function.
Definition:
Scalar.cpp:219
LLVMAddLowerExpectIntrinsicPass
void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM)
See llvm::createLowerExpectIntrinsicPass function.
Definition:
Scalar.cpp:239
LLVMAddIndVarSimplifyPass
void LLVMAddIndVarSimplifyPass(LLVMPassManagerRef PM)
See llvm::createIndVarSimplifyPass function.
Definition:
Scalar.cpp:122
LLVMAddTailCallEliminationPass
void LLVMAddTailCallEliminationPass(LLVMPassManagerRef PM)
See llvm::createTailCallEliminationPass function.
Definition:
Scalar.cpp:203
LLVMAddPartiallyInlineLibCallsPass
void LLVMAddPartiallyInlineLibCallsPass(LLVMPassManagerRef PM)
See llvm::createPartiallyInlineLibCallsPass function.
Definition:
Scalar.cpp:166
Threshold
static int const Threshold
TODO: Write a new FunctionPass AliasAnalysis so that it can keep a cache.
Definition:
CaptureTracking.cpp:262
LLVMAddLoopUnswitchPass
void LLVMAddLoopUnswitchPass(LLVMPassManagerRef PM)
See llvm::createLoopUnswitchPass function.
Definition:
Scalar.cpp:158
LLVMAddCFGSimplificationPass
void LLVMAddCFGSimplificationPass(LLVMPassManagerRef PM)
See llvm::createCFGSimplificationPass function.
Definition:
Scalar.cpp:102
LLVMAddMemCpyOptPass
void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM)
See llvm::createMemCpyOptPass function.
Definition:
Scalar.cpp:162
LLVMAddAggressiveDCEPass
void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM)
See llvm::createAggressiveDCEPass function.
Definition:
Scalar.cpp:90
Generated on Mon Aug 31 2015 11:07:15 for LLVM by
1.8.6