Resubmit "Add new EliminateAvailableExternally module pass" (r239480)
[oota-llvm.git] / include / llvm / InitializePasses.h
1 //===- llvm/InitializePasses.h -------- Initialize All Passes ---*- 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 file contains the declarations for the pass initialization routines
11 // for the entire LLVM project.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_INITIALIZEPASSES_H
16 #define LLVM_INITIALIZEPASSES_H
17
18 namespace llvm {
19
20 class PassRegistry;
21
22 /// initializeCore - Initialize all passes linked into the
23 /// TransformUtils library.
24 void initializeCore(PassRegistry&);
25
26 /// initializeTransformUtils - Initialize all passes linked into the
27 /// TransformUtils library.
28 void initializeTransformUtils(PassRegistry&);
29
30 /// initializeScalarOpts - Initialize all passes linked into the
31 /// ScalarOpts library.
32 void initializeScalarOpts(PassRegistry&);
33
34 /// initializeObjCARCOpts - Initialize all passes linked into the ObjCARCOpts
35 /// library.
36 void initializeObjCARCOpts(PassRegistry&);
37
38 /// initializeVectorization - Initialize all passes linked into the
39 /// Vectorize library.
40 void initializeVectorization(PassRegistry&);
41
42 /// initializeInstCombine - Initialize all passes linked into the
43 /// InstCombine library.
44 void initializeInstCombine(PassRegistry&);
45
46 /// initializeIPO - Initialize all passes linked into the IPO library.
47 void initializeIPO(PassRegistry&);
48
49 /// initializeInstrumentation - Initialize all passes linked into the
50 /// Instrumentation library.
51 void initializeInstrumentation(PassRegistry&);
52
53 /// initializeAnalysis - Initialize all passes linked into the Analysis library.
54 void initializeAnalysis(PassRegistry&);
55
56 /// initializeIPA - Initialize all passes linked into the IPA library.
57 void initializeIPA(PassRegistry&);
58
59 /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
60 void initializeCodeGen(PassRegistry&);
61
62 /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
63 void initializeTarget(PassRegistry&);
64
65 void initializeAAEvalPass(PassRegistry&);
66 void initializeAddDiscriminatorsPass(PassRegistry&);
67 void initializeADCEPass(PassRegistry&);
68 void initializeBDCEPass(PassRegistry&);
69 void initializeAliasAnalysisAnalysisGroup(PassRegistry&);
70 void initializeAliasAnalysisCounterPass(PassRegistry&);
71 void initializeAliasDebuggerPass(PassRegistry&);
72 void initializeAliasSetPrinterPass(PassRegistry&);
73 void initializeAlwaysInlinerPass(PassRegistry&);
74 void initializeArgPromotionPass(PassRegistry&);
75 void initializeAtomicExpandPass(PassRegistry&);
76 void initializeSampleProfileLoaderPass(PassRegistry&);
77 void initializeAlignmentFromAssumptionsPass(PassRegistry&);
78 void initializeBarrierNoopPass(PassRegistry&);
79 void initializeBasicAliasAnalysisPass(PassRegistry&);
80 void initializeCallGraphWrapperPassPass(PassRegistry &);
81 void initializeBlockExtractorPassPass(PassRegistry&);
82 void initializeBlockFrequencyInfoPass(PassRegistry&);
83 void initializeBoundsCheckingPass(PassRegistry&);
84 void initializeBranchFolderPassPass(PassRegistry&);
85 void initializeBranchProbabilityInfoPass(PassRegistry&);
86 void initializeBreakCriticalEdgesPass(PassRegistry&);
87 void initializeCallGraphPrinterPass(PassRegistry&);
88 void initializeCallGraphViewerPass(PassRegistry&);
89 void initializeCFGOnlyPrinterPass(PassRegistry&);
90 void initializeCFGOnlyViewerPass(PassRegistry&);
91 void initializeCFGPrinterPass(PassRegistry&);
92 void initializeCFGSimplifyPassPass(PassRegistry&);
93 void initializeCFLAliasAnalysisPass(PassRegistry&);
94 void initializeForwardControlFlowIntegrityPass(PassRegistry&);
95 void initializeFlattenCFGPassPass(PassRegistry&);
96 void initializeStructurizeCFGPass(PassRegistry&);
97 void initializeCFGViewerPass(PassRegistry&);
98 void initializeConstantHoistingPass(PassRegistry&);
99 void initializeCodeGenPreparePass(PassRegistry&);
100 void initializeConstantMergePass(PassRegistry&);
101 void initializeConstantPropagationPass(PassRegistry&);
102 void initializeMachineCopyPropagationPass(PassRegistry&);
103 void initializeCostModelAnalysisPass(PassRegistry&);
104 void initializeCorrelatedValuePropagationPass(PassRegistry&);
105 void initializeDAEPass(PassRegistry&);
106 void initializeDAHPass(PassRegistry&);
107 void initializeDCEPass(PassRegistry&);
108 void initializeDSEPass(PassRegistry&);
109 void initializeDeadInstEliminationPass(PassRegistry&);
110 void initializeDeadMachineInstructionElimPass(PassRegistry&);
111 void initializeDelinearizationPass(PassRegistry &);
112 void initializeDependenceAnalysisPass(PassRegistry&);
113 void initializeDivergenceAnalysisPass(PassRegistry&);
114 void initializeDomOnlyPrinterPass(PassRegistry&);
115 void initializeDomOnlyViewerPass(PassRegistry&);
116 void initializeDomPrinterPass(PassRegistry&);
117 void initializeDomViewerPass(PassRegistry&);
118 void initializeDominanceFrontierPass(PassRegistry&);
119 void initializeDominatorTreeWrapperPassPass(PassRegistry&);
120 void initializeEarlyIfConverterPass(PassRegistry&);
121 void initializeEdgeBundlesPass(PassRegistry&);
122 void initializeExpandPostRAPass(PassRegistry&);
123 void initializeGCOVProfilerPass(PassRegistry&);
124 void initializeInstrProfilingPass(PassRegistry&);
125 void initializeAddressSanitizerPass(PassRegistry&);
126 void initializeAddressSanitizerModulePass(PassRegistry&);
127 void initializeMemorySanitizerPass(PassRegistry&);
128 void initializeThreadSanitizerPass(PassRegistry&);
129 void initializeSanitizerCoverageModulePass(PassRegistry&);
130 void initializeDataFlowSanitizerPass(PassRegistry&);
131 void initializeScalarizerPass(PassRegistry&);
132 void initializeEarlyCSELegacyPassPass(PassRegistry &);
133 void initializeEliminateAvailableExternallyPass(PassRegistry&);
134 void initializeExpandISelPseudosPass(PassRegistry&);
135 void initializeFunctionAttrsPass(PassRegistry&);
136 void initializeGCMachineCodeAnalysisPass(PassRegistry&);
137 void initializeGCModuleInfoPass(PassRegistry&);
138 void initializeGVNPass(PassRegistry&);
139 void initializeGlobalDCEPass(PassRegistry&);
140 void initializeGlobalOptPass(PassRegistry&);
141 void initializeGlobalsModRefPass(PassRegistry&);
142 void initializeIPCPPass(PassRegistry&);
143 void initializeIPSCCPPass(PassRegistry&);
144 void initializeIVUsersPass(PassRegistry&);
145 void initializeIfConverterPass(PassRegistry&);
146 void initializeInductiveRangeCheckEliminationPass(PassRegistry&);
147 void initializeIndVarSimplifyPass(PassRegistry&);
148 void initializeInlineCostAnalysisPass(PassRegistry&);
149 void initializeInstructionCombiningPassPass(PassRegistry&);
150 void initializeInstCountPass(PassRegistry&);
151 void initializeInstNamerPass(PassRegistry&);
152 void initializeInternalizePassPass(PassRegistry&);
153 void initializeIntervalPartitionPass(PassRegistry&);
154 void initializeJumpThreadingPass(PassRegistry&);
155 void initializeLCSSAPass(PassRegistry&);
156 void initializeLICMPass(PassRegistry&);
157 void initializeLazyValueInfoPass(PassRegistry&);
158 void initializeLibCallAliasAnalysisPass(PassRegistry&);
159 void initializeLintPass(PassRegistry&);
160 void initializeLiveDebugVariablesPass(PassRegistry&);
161 void initializeLiveIntervalsPass(PassRegistry&);
162 void initializeLiveRegMatrixPass(PassRegistry&);
163 void initializeLiveStacksPass(PassRegistry&);
164 void initializeLiveVariablesPass(PassRegistry&);
165 void initializeLoaderPassPass(PassRegistry&);
166 void initializeLocalStackSlotPassPass(PassRegistry&);
167 void initializeLoopDeletionPass(PassRegistry&);
168 void initializeLoopExtractorPass(PassRegistry&);
169 void initializeLoopInfoWrapperPassPass(PassRegistry&);
170 void initializeLoopInterchangePass(PassRegistry &);
171 void initializeLoopInstSimplifyPass(PassRegistry&);
172 void initializeLoopRotatePass(PassRegistry&);
173 void initializeLoopSimplifyPass(PassRegistry&);
174 void initializeLoopStrengthReducePass(PassRegistry&);
175 void initializeGlobalMergePass(PassRegistry&);
176 void initializeLoopRerollPass(PassRegistry&);
177 void initializeLoopUnrollPass(PassRegistry&);
178 void initializeLoopUnswitchPass(PassRegistry&);
179 void initializeLoopIdiomRecognizePass(PassRegistry&);
180 void initializeLowerAtomicPass(PassRegistry&);
181 void initializeLowerBitSetsPass(PassRegistry&);
182 void initializeLowerExpectIntrinsicPass(PassRegistry&);
183 void initializeLowerIntrinsicsPass(PassRegistry&);
184 void initializeLowerInvokePass(PassRegistry&);
185 void initializeLowerSwitchPass(PassRegistry&);
186 void initializeMachineBlockFrequencyInfoPass(PassRegistry&);
187 void initializeMachineBlockPlacementPass(PassRegistry&);
188 void initializeMachineBlockPlacementStatsPass(PassRegistry&);
189 void initializeMachineBranchProbabilityInfoPass(PassRegistry&);
190 void initializeMachineCSEPass(PassRegistry&);
191 void initializeImplicitNullChecksPass(PassRegistry&);
192 void initializeMachineDominatorTreePass(PassRegistry&);
193 void initializeMachineDominanceFrontierPass(PassRegistry&);
194 void initializeMachinePostDominatorTreePass(PassRegistry&);
195 void initializeMachineLICMPass(PassRegistry&);
196 void initializeMachineLoopInfoPass(PassRegistry&);
197 void initializeMachineModuleInfoPass(PassRegistry&);
198 void initializeMachineRegionInfoPassPass(PassRegistry&);
199 void initializeMachineSchedulerPass(PassRegistry&);
200 void initializeMachineSinkingPass(PassRegistry&);
201 void initializeMachineTraceMetricsPass(PassRegistry&);
202 void initializeMachineVerifierPassPass(PassRegistry&);
203 void initializeMemCpyOptPass(PassRegistry&);
204 void initializeMemDepPrinterPass(PassRegistry&);
205 void initializeMemDerefPrinterPass(PassRegistry&);
206 void initializeMemoryDependenceAnalysisPass(PassRegistry&);
207 void initializeMergedLoadStoreMotionPass(PassRegistry &);
208 void initializeMetaRenamerPass(PassRegistry&);
209 void initializeMergeFunctionsPass(PassRegistry&);
210 void initializeModuleDebugInfoPrinterPass(PassRegistry&);
211 void initializeNaryReassociatePass(PassRegistry&);
212 void initializeNoAAPass(PassRegistry&);
213 void initializeObjCARCAliasAnalysisPass(PassRegistry&);
214 void initializeObjCARCAPElimPass(PassRegistry&);
215 void initializeObjCARCExpandPass(PassRegistry&);
216 void initializeObjCARCContractPass(PassRegistry&);
217 void initializeObjCARCOptPass(PassRegistry&);
218 void initializePAEvalPass(PassRegistry &);
219 void initializeOptimizePHIsPass(PassRegistry&);
220 void initializePartiallyInlineLibCallsPass(PassRegistry&);
221 void initializePEIPass(PassRegistry&);
222 void initializePHIEliminationPass(PassRegistry&);
223 void initializePartialInlinerPass(PassRegistry&);
224 void initializePeepholeOptimizerPass(PassRegistry&);
225 void initializePostDomOnlyPrinterPass(PassRegistry&);
226 void initializePostDomOnlyViewerPass(PassRegistry&);
227 void initializePostDomPrinterPass(PassRegistry&);
228 void initializePostDomViewerPass(PassRegistry&);
229 void initializePostDominatorTreePass(PassRegistry&);
230 void initializePostRASchedulerPass(PassRegistry&);
231 void initializePostMachineSchedulerPass(PassRegistry&);
232 void initializePrintFunctionPassWrapperPass(PassRegistry&);
233 void initializePrintModulePassWrapperPass(PassRegistry&);
234 void initializePrintBasicBlockPassPass(PassRegistry&);
235 void initializeProcessImplicitDefsPass(PassRegistry&);
236 void initializePromotePassPass(PassRegistry&);
237 void initializePruneEHPass(PassRegistry&);
238 void initializeReassociatePass(PassRegistry&);
239 void initializeRegToMemPass(PassRegistry&);
240 void initializeRegionInfoPassPass(PassRegistry&);
241 void initializeRegionOnlyPrinterPass(PassRegistry&);
242 void initializeRegionOnlyViewerPass(PassRegistry&);
243 void initializeRegionPrinterPass(PassRegistry&);
244 void initializeRegionViewerPass(PassRegistry&);
245 void initializeRewriteStatepointsForGCPass(PassRegistry&);
246 void initializeSafeStackPass(PassRegistry&);
247 void initializeSCCPPass(PassRegistry&);
248 void initializeSROAPass(PassRegistry&);
249 void initializeSROA_DTPass(PassRegistry&);
250 void initializeSROA_SSAUpPass(PassRegistry&);
251 void initializeScalarEvolutionAliasAnalysisPass(PassRegistry&);
252 void initializeScalarEvolutionPass(PassRegistry&);
253 void initializeShrinkWrapPass(PassRegistry &);
254 void initializeSimpleInlinerPass(PassRegistry&);
255 void initializeShadowStackGCLoweringPass(PassRegistry&);  
256 void initializeRegisterCoalescerPass(PassRegistry&);
257 void initializeSingleLoopExtractorPass(PassRegistry&);
258 void initializeSinkingPass(PassRegistry&);
259 void initializeSeparateConstOffsetFromGEPPass(PassRegistry &);
260 void initializeSlotIndexesPass(PassRegistry&);
261 void initializeSpillPlacementPass(PassRegistry&);
262 void initializeSpeculativeExecutionPass(PassRegistry&);
263 void initializeStackProtectorPass(PassRegistry&);
264 void initializeStackColoringPass(PassRegistry&);
265 void initializeStackSlotColoringPass(PassRegistry&);
266 void initializeStraightLineStrengthReducePass(PassRegistry &);
267 void initializeStripDeadDebugInfoPass(PassRegistry&);
268 void initializeStripDeadPrototypesPassPass(PassRegistry&);
269 void initializeStripDebugDeclarePass(PassRegistry&);
270 void initializeStripNonDebugSymbolsPass(PassRegistry&);
271 void initializeStripSymbolsPass(PassRegistry&);
272 void initializeTailCallElimPass(PassRegistry&);
273 void initializeTailDuplicatePassPass(PassRegistry&);
274 void initializeTargetPassConfigPass(PassRegistry&);
275 void initializeTargetTransformInfoWrapperPassPass(PassRegistry &);
276 void initializeTargetLibraryInfoWrapperPassPass(PassRegistry &);
277 void initializeAssumptionCacheTrackerPass(PassRegistry &);
278 void initializeTwoAddressInstructionPassPass(PassRegistry&);
279 void initializeTypeBasedAliasAnalysisPass(PassRegistry&);
280 void initializeScopedNoAliasAAPass(PassRegistry&);
281 void initializeUnifyFunctionExitNodesPass(PassRegistry&);
282 void initializeUnreachableBlockElimPass(PassRegistry&);
283 void initializeUnreachableMachineBlockElimPass(PassRegistry&);
284 void initializeVerifierLegacyPassPass(PassRegistry&);
285 void initializeVirtRegMapPass(PassRegistry&);
286 void initializeVirtRegRewriterPass(PassRegistry&);
287 void initializeInstSimplifierPass(PassRegistry&);
288 void initializeUnpackMachineBundlesPass(PassRegistry&);
289 void initializeFinalizeMachineBundlesPass(PassRegistry&);
290 void initializeLoopAccessAnalysisPass(PassRegistry&);
291 void initializeLoopVectorizePass(PassRegistry&);
292 void initializeSLPVectorizerPass(PassRegistry&);
293 void initializeBBVectorizePass(PassRegistry&);
294 void initializeMachineFunctionPrinterPassPass(PassRegistry&);
295 void initializeMIRPrintingPassPass(PassRegistry&);
296 void initializeStackMapLivenessPass(PassRegistry&);
297 void initializeMachineCombinerPass(PassRegistry &);
298 void initializeLoadCombinePass(PassRegistry&);
299 void initializeRewriteSymbolsPass(PassRegistry&);
300 void initializeWinEHPreparePass(PassRegistry&);
301 void initializePlaceBackedgeSafepointsImplPass(PassRegistry&);
302 void initializePlaceSafepointsPass(PassRegistry&);
303 void initializeDwarfEHPreparePass(PassRegistry&);
304 void initializeFloat2IntPass(PassRegistry&);
305 void initializeLoopDistributePass(PassRegistry&);
306 }
307
308 #endif