Mercurial > hg > CbC > CbC_llvm
comparison include/llvm/LinkAllPasses.h @ 148:63bd29f05246
merged
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Aug 2019 19:46:37 +0900 |
parents | 7c836c76d71d c2174574ed3a |
children |
comparison
equal
deleted
inserted
replaced
146:3fc4d5c3e21e | 148:63bd29f05246 |
---|---|
1 //===- llvm/LinkAllPasses.h ------------ Reference All Passes ---*- C++ -*-===// | 1 //===- llvm/LinkAllPasses.h ------------ Reference All Passes ---*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 // | 4 // See https://llvm.org/LICENSE.txt for license information. |
5 // This file is distributed under the University of Illinois Open Source | 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 // License. See LICENSE.TXT for details. | |
7 // | 6 // |
8 //===----------------------------------------------------------------------===// | 7 //===----------------------------------------------------------------------===// |
9 // | 8 // |
10 // This header file pulls in all transformation and analysis passes for tools | 9 // This header file pulls in all transformation and analysis passes for tools |
11 // like opt and bugpoint that need this functionality. | 10 // like opt and bugpoint that need this functionality. |
37 #include "llvm/Analysis/TypeBasedAliasAnalysis.h" | 36 #include "llvm/Analysis/TypeBasedAliasAnalysis.h" |
38 #include "llvm/CodeGen/Passes.h" | 37 #include "llvm/CodeGen/Passes.h" |
39 #include "llvm/IR/Function.h" | 38 #include "llvm/IR/Function.h" |
40 #include "llvm/IR/IRPrintingPasses.h" | 39 #include "llvm/IR/IRPrintingPasses.h" |
41 #include "llvm/Support/Valgrind.h" | 40 #include "llvm/Support/Valgrind.h" |
41 #include "llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h" | |
42 #include "llvm/Transforms/IPO.h" | 42 #include "llvm/Transforms/IPO.h" |
43 #include "llvm/Transforms/IPO/AlwaysInliner.h" | 43 #include "llvm/Transforms/IPO/AlwaysInliner.h" |
44 #include "llvm/Transforms/IPO/Attributor.h" | |
44 #include "llvm/Transforms/IPO/FunctionAttrs.h" | 45 #include "llvm/Transforms/IPO/FunctionAttrs.h" |
46 #include "llvm/Transforms/InstCombine/InstCombine.h" | |
45 #include "llvm/Transforms/Instrumentation.h" | 47 #include "llvm/Transforms/Instrumentation.h" |
46 #include "llvm/Transforms/Instrumentation/BoundsChecking.h" | 48 #include "llvm/Transforms/Instrumentation/BoundsChecking.h" |
47 #include "llvm/Transforms/ObjCARC.h" | 49 #include "llvm/Transforms/ObjCARC.h" |
48 #include "llvm/Transforms/Scalar.h" | 50 #include "llvm/Transforms/Scalar.h" |
49 #include "llvm/Transforms/Scalar/GVN.h" | 51 #include "llvm/Transforms/Scalar/GVN.h" |
52 #include "llvm/Transforms/Scalar/InstSimplifyPass.h" | |
53 #include "llvm/Transforms/Scalar/Scalarizer.h" | |
54 #include "llvm/Transforms/Utils.h" | |
50 #include "llvm/Transforms/Utils/SymbolRewriter.h" | 55 #include "llvm/Transforms/Utils/SymbolRewriter.h" |
51 #include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h" | 56 #include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h" |
52 #include "llvm/Transforms/Vectorize.h" | 57 #include "llvm/Transforms/Vectorize.h" |
53 #include <cstdlib> | 58 #include <cstdlib> |
54 | 59 |
62 if (std::getenv("bar") != (char*) -1) | 67 if (std::getenv("bar") != (char*) -1) |
63 return; | 68 return; |
64 | 69 |
65 (void) llvm::createAAEvalPass(); | 70 (void) llvm::createAAEvalPass(); |
66 (void) llvm::createAggressiveDCEPass(); | 71 (void) llvm::createAggressiveDCEPass(); |
72 (void) llvm::createAggressiveInstCombinerPass(); | |
67 (void) llvm::createBitTrackingDCEPass(); | 73 (void) llvm::createBitTrackingDCEPass(); |
68 (void) llvm::createArgumentPromotionPass(); | 74 (void) llvm::createArgumentPromotionPass(); |
69 (void) llvm::createAlignmentFromAssumptionsPass(); | 75 (void) llvm::createAlignmentFromAssumptionsPass(); |
70 (void) llvm::createBasicAAWrapperPass(); | 76 (void) llvm::createBasicAAWrapperPass(); |
71 (void) llvm::createSCEVAAWrapperPass(); | 77 (void) llvm::createSCEVAAWrapperPass(); |
81 (void) llvm::createStructurizeCFGPass(); | 87 (void) llvm::createStructurizeCFGPass(); |
82 (void) llvm::createLibCallsShrinkWrapPass(); | 88 (void) llvm::createLibCallsShrinkWrapPass(); |
83 (void) llvm::createCalledValuePropagationPass(); | 89 (void) llvm::createCalledValuePropagationPass(); |
84 (void) llvm::createConstantMergePass(); | 90 (void) llvm::createConstantMergePass(); |
85 (void) llvm::createConstantPropagationPass(); | 91 (void) llvm::createConstantPropagationPass(); |
92 (void) llvm::createControlHeightReductionLegacyPass(); | |
86 (void) llvm::createCostModelAnalysisPass(); | 93 (void) llvm::createCostModelAnalysisPass(); |
87 (void) llvm::createDeadArgEliminationPass(); | 94 (void) llvm::createDeadArgEliminationPass(); |
88 (void) llvm::createDeadCodeEliminationPass(); | 95 (void) llvm::createDeadCodeEliminationPass(); |
89 (void) llvm::createDeadInstEliminationPass(); | 96 (void) llvm::createDeadInstEliminationPass(); |
90 (void) llvm::createDeadStoreEliminationPass(); | 97 (void) llvm::createDeadStoreEliminationPass(); |
91 (void) llvm::createDependenceAnalysisWrapperPass(); | 98 (void) llvm::createDependenceAnalysisWrapperPass(); |
92 (void) llvm::createDivergenceAnalysisPass(); | |
93 (void) llvm::createDomOnlyPrinterPass(); | 99 (void) llvm::createDomOnlyPrinterPass(); |
94 (void) llvm::createDomPrinterPass(); | 100 (void) llvm::createDomPrinterPass(); |
95 (void) llvm::createDomOnlyViewerPass(); | 101 (void) llvm::createDomOnlyViewerPass(); |
96 (void) llvm::createDomViewerPass(); | 102 (void) llvm::createDomViewerPass(); |
97 (void) llvm::createGCOVProfilerPass(); | 103 (void) llvm::createGCOVProfilerPass(); |
98 (void) llvm::createPGOInstrumentationGenLegacyPass(); | 104 (void) llvm::createPGOInstrumentationGenLegacyPass(); |
99 (void) llvm::createPGOInstrumentationUseLegacyPass(); | 105 (void) llvm::createPGOInstrumentationUseLegacyPass(); |
106 (void) llvm::createPGOInstrumentationGenCreateVarLegacyPass(); | |
100 (void) llvm::createPGOIndirectCallPromotionLegacyPass(); | 107 (void) llvm::createPGOIndirectCallPromotionLegacyPass(); |
101 (void) llvm::createPGOMemOPSizeOptLegacyPass(); | 108 (void) llvm::createPGOMemOPSizeOptLegacyPass(); |
102 (void) llvm::createInstrProfilingLegacyPass(); | 109 (void) llvm::createInstrProfilingLegacyPass(); |
103 (void) llvm::createFunctionImportPass(); | 110 (void) llvm::createFunctionImportPass(); |
104 (void) llvm::createFunctionInliningPass(); | 111 (void) llvm::createFunctionInliningPass(); |
105 (void) llvm::createAlwaysInlinerLegacyPass(); | 112 (void) llvm::createAlwaysInlinerLegacyPass(); |
106 (void) llvm::createGlobalDCEPass(); | 113 (void) llvm::createGlobalDCEPass(); |
107 (void) llvm::createGlobalOptimizerPass(); | 114 (void) llvm::createGlobalOptimizerPass(); |
108 (void) llvm::createGlobalsAAWrapperPass(); | 115 (void) llvm::createGlobalsAAWrapperPass(); |
109 (void) llvm::createGuardWideningPass(); | 116 (void) llvm::createGuardWideningPass(); |
117 (void) llvm::createLoopGuardWideningPass(); | |
110 (void) llvm::createIPConstantPropagationPass(); | 118 (void) llvm::createIPConstantPropagationPass(); |
111 (void) llvm::createIPSCCPPass(); | 119 (void) llvm::createIPSCCPPass(); |
112 (void) llvm::createInductiveRangeCheckEliminationPass(); | 120 (void) llvm::createInductiveRangeCheckEliminationPass(); |
113 (void) llvm::createIndVarSimplifyPass(); | 121 (void) llvm::createIndVarSimplifyPass(); |
122 (void) llvm::createInstSimplifyLegacyPass(); | |
114 (void) llvm::createInstructionCombiningPass(); | 123 (void) llvm::createInstructionCombiningPass(); |
115 (void) llvm::createInternalizePass(); | 124 (void) llvm::createInternalizePass(); |
116 (void) llvm::createLCSSAPass(); | 125 (void) llvm::createLCSSAPass(); |
126 (void) llvm::createLegacyDivergenceAnalysisPass(); | |
117 (void) llvm::createLICMPass(); | 127 (void) llvm::createLICMPass(); |
118 (void) llvm::createLoopSinkPass(); | 128 (void) llvm::createLoopSinkPass(); |
119 (void) llvm::createLazyValueInfoPass(); | 129 (void) llvm::createLazyValueInfoPass(); |
120 (void) llvm::createLoopExtractorPass(); | 130 (void) llvm::createLoopExtractorPass(); |
121 (void) llvm::createLoopInterchangePass(); | 131 (void) llvm::createLoopInterchangePass(); |
123 (void) llvm::createLoopSimplifyPass(); | 133 (void) llvm::createLoopSimplifyPass(); |
124 (void) llvm::createLoopSimplifyCFGPass(); | 134 (void) llvm::createLoopSimplifyCFGPass(); |
125 (void) llvm::createLoopStrengthReducePass(); | 135 (void) llvm::createLoopStrengthReducePass(); |
126 (void) llvm::createLoopRerollPass(); | 136 (void) llvm::createLoopRerollPass(); |
127 (void) llvm::createLoopUnrollPass(); | 137 (void) llvm::createLoopUnrollPass(); |
138 (void) llvm::createLoopUnrollAndJamPass(); | |
128 (void) llvm::createLoopUnswitchPass(); | 139 (void) llvm::createLoopUnswitchPass(); |
129 (void) llvm::createLoopVersioningLICMPass(); | 140 (void) llvm::createLoopVersioningLICMPass(); |
130 (void) llvm::createLoopIdiomPass(); | 141 (void) llvm::createLoopIdiomPass(); |
131 (void) llvm::createLoopRotatePass(); | 142 (void) llvm::createLoopRotatePass(); |
132 (void) llvm::createLowerExpectIntrinsicPass(); | 143 (void) llvm::createLowerExpectIntrinsicPass(); |
180 (void) llvm::createMemCpyOptPass(); | 191 (void) llvm::createMemCpyOptPass(); |
181 (void) llvm::createLoopDeletionPass(); | 192 (void) llvm::createLoopDeletionPass(); |
182 (void) llvm::createPostDomTree(); | 193 (void) llvm::createPostDomTree(); |
183 (void) llvm::createInstructionNamerPass(); | 194 (void) llvm::createInstructionNamerPass(); |
184 (void) llvm::createMetaRenamerPass(); | 195 (void) llvm::createMetaRenamerPass(); |
196 (void) llvm::createAttributorLegacyPass(); | |
185 (void) llvm::createPostOrderFunctionAttrsLegacyPass(); | 197 (void) llvm::createPostOrderFunctionAttrsLegacyPass(); |
186 (void) llvm::createReversePostOrderFunctionAttrsPass(); | 198 (void) llvm::createReversePostOrderFunctionAttrsPass(); |
187 (void) llvm::createMergeFunctionsPass(); | 199 (void) llvm::createMergeFunctionsPass(); |
188 (void) llvm::createMergeICmpsPass(); | 200 (void) llvm::createMergeICmpsLegacyPass(); |
189 (void) llvm::createExpandMemCmpPass(); | 201 (void) llvm::createExpandMemCmpPass(); |
190 std::string buf; | 202 std::string buf; |
191 llvm::raw_string_ostream os(buf); | 203 llvm::raw_string_ostream os(buf); |
192 (void) llvm::createPrintModulePass(os); | 204 (void) llvm::createPrintModulePass(os); |
193 (void) llvm::createPrintFunctionPass(os); | 205 (void) llvm::createPrintFunctionPass(os); |
197 (void) llvm::createLintPass(); | 209 (void) llvm::createLintPass(); |
198 (void) llvm::createSinkingPass(); | 210 (void) llvm::createSinkingPass(); |
199 (void) llvm::createLowerAtomicPass(); | 211 (void) llvm::createLowerAtomicPass(); |
200 (void) llvm::createCorrelatedValuePropagationPass(); | 212 (void) llvm::createCorrelatedValuePropagationPass(); |
201 (void) llvm::createMemDepPrinter(); | 213 (void) llvm::createMemDepPrinter(); |
202 (void) llvm::createInstructionSimplifierPass(); | |
203 (void) llvm::createLoopVectorizePass(); | 214 (void) llvm::createLoopVectorizePass(); |
204 (void) llvm::createSLPVectorizerPass(); | 215 (void) llvm::createSLPVectorizerPass(); |
205 (void) llvm::createLoadStoreVectorizerPass(); | 216 (void) llvm::createLoadStoreVectorizerPass(); |
206 (void) llvm::createPartiallyInlineLibCallsPass(); | 217 (void) llvm::createPartiallyInlineLibCallsPass(); |
207 (void) llvm::createScalarizerPass(); | 218 (void) llvm::createScalarizerPass(); |
209 (void) llvm::createSpeculativeExecutionPass(); | 220 (void) llvm::createSpeculativeExecutionPass(); |
210 (void) llvm::createSpeculativeExecutionIfHasBranchDivergencePass(); | 221 (void) llvm::createSpeculativeExecutionIfHasBranchDivergencePass(); |
211 (void) llvm::createRewriteSymbolsPass(); | 222 (void) llvm::createRewriteSymbolsPass(); |
212 (void) llvm::createStraightLineStrengthReducePass(); | 223 (void) llvm::createStraightLineStrengthReducePass(); |
213 (void) llvm::createMemDerefPrinter(); | 224 (void) llvm::createMemDerefPrinter(); |
225 (void) llvm::createMustExecutePrinter(); | |
214 (void) llvm::createFloat2IntPass(); | 226 (void) llvm::createFloat2IntPass(); |
215 (void) llvm::createEliminateAvailableExternallyPass(); | 227 (void) llvm::createEliminateAvailableExternallyPass(); |
216 (void) llvm::createScalarizeMaskedMemIntrinPass(); | 228 (void) llvm::createScalarizeMaskedMemIntrinPass(); |
229 (void) llvm::createWarnMissedTransformationsPass(); | |
230 (void) llvm::createHardwareLoopsPass(); | |
217 | 231 |
218 (void)new llvm::IntervalPartition(); | 232 (void)new llvm::IntervalPartition(); |
219 (void)new llvm::ScalarEvolutionWrapperPass(); | 233 (void)new llvm::ScalarEvolutionWrapperPass(); |
220 llvm::Function::Create(nullptr, llvm::GlobalValue::ExternalLinkage)->viewCFGOnly(); | 234 llvm::Function::Create(nullptr, llvm::GlobalValue::ExternalLinkage)->viewCFGOnly(); |
221 llvm::RGPassManager RGM; | 235 llvm::RGPassManager RGM; |
222 llvm::TargetLibraryInfoImpl TLII; | 236 llvm::TargetLibraryInfoImpl TLII; |
223 llvm::TargetLibraryInfo TLI(TLII); | 237 llvm::TargetLibraryInfo TLI(TLII); |
224 llvm::AliasAnalysis AA(TLI); | 238 llvm::AliasAnalysis AA(TLI); |
225 llvm::AliasSetTracker X(AA); | 239 llvm::AliasSetTracker X(AA); |
226 X.add(nullptr, 0, llvm::AAMDNodes()); // for -print-alias-sets | 240 X.add(nullptr, llvm::LocationSize::unknown(), |
241 llvm::AAMDNodes()); // for -print-alias-sets | |
227 (void) llvm::AreStatisticsEnabled(); | 242 (void) llvm::AreStatisticsEnabled(); |
228 (void) llvm::sys::RunningOnValgrind(); | 243 (void) llvm::sys::RunningOnValgrind(); |
229 } | 244 } |
230 } ForcePassLinking; // Force link by creating a global definition. | 245 } ForcePassLinking; // Force link by creating a global definition. |
231 } | 246 } |