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 }