|
43 | 43 |
|
44 | 44 | using namespace llvm;
|
45 | 45 |
|
46 |
| -<<<<<<< HEAD |
47 | 46 | namespace llvm {
|
48 | 47 | cl::opt<bool> SYCLOptimizationMode("sycl-opt", cl::init(false), cl::Hidden,
|
49 | 48 | cl::desc("Enable SYCL optimization mode."));
|
50 |
| -cl::opt<bool> RunPartialInlining("enable-partial-inlining", cl::Hidden, |
51 |
| - cl::desc("Run Partial inlinining pass")); |
52 |
| - |
53 |
| -static cl::opt<bool> |
54 |
| -UseGVNAfterVectorization("use-gvn-after-vectorization", |
55 |
| - cl::init(false), cl::Hidden, |
56 |
| - cl::desc("Run GVN instead of Early CSE after vectorization passes")); |
57 |
| - |
58 |
| -cl::opt<bool> ExtraVectorizerPasses( |
59 |
| - "extra-vectorizer-passes", cl::init(false), cl::Hidden, |
60 |
| - cl::desc("Run cleanup optimization passes after vectorization.")); |
61 |
| - |
62 |
| -static cl::opt<bool> |
63 |
| -RunLoopRerolling("reroll-loops", cl::Hidden, |
64 |
| - cl::desc("Run the loop rerolling pass")); |
65 |
| - |
66 |
| -cl::opt<bool> RunNewGVN("enable-newgvn", cl::init(false), cl::Hidden, |
67 |
| - cl::desc("Run the NewGVN pass")); |
68 |
| - |
69 |
| -// Experimental option to use CFL-AA |
70 |
| -static cl::opt<::CFLAAType> |
71 |
| - UseCFLAA("use-cfl-aa", cl::init(::CFLAAType::None), cl::Hidden, |
72 |
| - cl::desc("Enable the new, experimental CFL alias analysis"), |
73 |
| - cl::values(clEnumValN(::CFLAAType::None, "none", "Disable CFL-AA"), |
74 |
| - clEnumValN(::CFLAAType::Steensgaard, "steens", |
75 |
| - "Enable unification-based CFL-AA"), |
76 |
| - clEnumValN(::CFLAAType::Andersen, "anders", |
77 |
| - "Enable inclusion-based CFL-AA"), |
78 |
| - clEnumValN(::CFLAAType::Both, "both", |
79 |
| - "Enable both variants of CFL-AA"))); |
80 |
| - |
81 |
| -cl::opt<bool> EnableLoopInterchange( |
82 |
| - "enable-loopinterchange", cl::init(false), cl::Hidden, |
83 |
| - cl::desc("Enable the experimental LoopInterchange Pass")); |
84 |
| - |
85 |
| -cl::opt<bool> EnableUnrollAndJam("enable-unroll-and-jam", cl::init(false), |
86 |
| - cl::Hidden, |
87 |
| - cl::desc("Enable Unroll And Jam Pass")); |
88 |
| - |
89 |
| -cl::opt<bool> EnableLoopFlatten("enable-loop-flatten", cl::init(false), |
90 |
| - cl::Hidden, |
91 |
| - cl::desc("Enable the LoopFlatten Pass")); |
92 |
| - |
93 |
| -cl::opt<bool> EnableDFAJumpThreading("enable-dfa-jump-thread", |
94 |
| - cl::desc("Enable DFA jump threading."), |
95 |
| - cl::init(false), cl::Hidden); |
96 |
| - |
97 |
| -cl::opt<bool> EnableHotColdSplit("hot-cold-split", |
98 |
| - cl::desc("Enable hot-cold splitting pass")); |
99 |
| - |
100 |
| -cl::opt<bool> EnableIROutliner("ir-outliner", cl::init(false), cl::Hidden, |
101 |
| - cl::desc("Enable ir outliner pass")); |
102 |
| - |
103 |
| -static cl::opt<bool> UseLoopVersioningLICM( |
104 |
| - "enable-loop-versioning-licm", cl::init(false), cl::Hidden, |
105 |
| - cl::desc("Enable the experimental Loop Versioning LICM pass")); |
106 |
| - |
107 |
| -cl::opt<bool> |
108 |
| - DisablePreInliner("disable-preinline", cl::init(false), cl::Hidden, |
109 |
| - cl::desc("Disable pre-instrumentation inliner")); |
110 |
| - |
111 |
| -cl::opt<int> PreInlineThreshold( |
112 |
| - "preinline-threshold", cl::Hidden, cl::init(75), |
113 |
| - cl::desc("Control the amount of inlining in pre-instrumentation inliner " |
114 |
| - "(default = 75)")); |
115 |
| - |
116 |
| -cl::opt<bool> |
117 |
| - EnableGVNHoist("enable-gvn-hoist", |
118 |
| - cl::desc("Enable the GVN hoisting pass (default = off)")); |
119 |
| - |
120 |
| -static cl::opt<bool> |
121 |
| - DisableLibCallsShrinkWrap("disable-libcalls-shrinkwrap", cl::init(false), |
122 |
| - cl::Hidden, |
123 |
| - cl::desc("Disable shrink-wrap library calls")); |
124 |
| - |
125 |
| -cl::opt<bool> |
126 |
| - EnableGVNSink("enable-gvn-sink", |
127 |
| - cl::desc("Enable the GVN sinking pass (default = off)")); |
128 |
| - |
129 |
| -// This option is used in simplifying testing SampleFDO optimizations for |
130 |
| -// profile loading. |
131 |
| -cl::opt<bool> |
132 |
| - EnableCHR("enable-chr", cl::init(true), cl::Hidden, |
133 |
| - cl::desc("Enable control height reduction optimization (CHR)")); |
134 |
| - |
135 |
| -cl::opt<bool> FlattenedProfileUsed( |
136 |
| - "flattened-profile-used", cl::init(false), cl::Hidden, |
137 |
| - cl::desc("Indicate the sample profile being used is flattened, i.e., " |
138 |
| - "no inline hierachy exists in the profile. ")); |
139 |
| - |
140 |
| -cl::opt<bool> EnableOrderFileInstrumentation( |
141 |
| - "enable-order-file-instrumentation", cl::init(false), cl::Hidden, |
142 |
| - cl::desc("Enable order file instrumentation (default = off)")); |
143 |
| - |
144 |
| -cl::opt<bool> EnableMatrix( |
145 |
| - "enable-matrix", cl::init(false), cl::Hidden, |
146 |
| - cl::desc("Enable lowering of the matrix intrinsics")); |
147 |
| - |
148 |
| -cl::opt<bool> EnableConstraintElimination( |
149 |
| - "enable-constraint-elimination", cl::init(false), cl::Hidden, |
150 |
| - cl::desc( |
151 |
| - "Enable pass to eliminate conditions based on linear constraints.")); |
152 |
| - |
153 |
| -cl::opt<bool> EnableFunctionSpecialization( |
154 |
| - "enable-function-specialization", cl::init(false), cl::Hidden, |
155 |
| - cl::desc("Enable Function Specialization pass")); |
156 |
| - |
157 |
| -cl::opt<AttributorRunOption> AttributorRun( |
158 |
| - "attributor-enable", cl::Hidden, cl::init(AttributorRunOption::NONE), |
159 |
| - cl::desc("Enable the attributor inter-procedural deduction pass."), |
160 |
| - cl::values(clEnumValN(AttributorRunOption::ALL, "all", |
161 |
| - "enable all attributor runs"), |
162 |
| - clEnumValN(AttributorRunOption::MODULE, "module", |
163 |
| - "enable module-wide attributor runs"), |
164 |
| - clEnumValN(AttributorRunOption::CGSCC, "cgscc", |
165 |
| - "enable call graph SCC attributor runs"), |
166 |
| - clEnumValN(AttributorRunOption::NONE, "none", |
167 |
| - "disable attributor runs"))); |
168 |
| - |
169 |
| -extern cl::opt<bool> EnableKnowledgeRetention; |
170 | 49 | } // namespace llvm
|
171 | 50 |
|
172 |
| -======= |
173 |
| ->>>>>>> cbcf123af293ee56876cce16dac83c3008478dae |
174 | 51 | PassManagerBuilder::PassManagerBuilder() {
|
175 | 52 | OptLevel = 2;
|
176 | 53 | SizeLevel = 0;
|
@@ -320,17 +197,9 @@ void PassManagerBuilder::addFunctionSimplificationPasses(
|
320 | 197 | if (!SYCLOptimizationMode)
|
321 | 198 | MPM.add(createReassociatePass()); // Reassociate expressions
|
322 | 199 |
|
323 |
| -<<<<<<< HEAD |
324 |
| - // The matrix extension can introduce large vector operations early, which can |
325 |
| - // benefit from running vector-combine early on. |
326 |
| - if (EnableMatrix) |
327 |
| - MPM.add(createVectorCombinePass()); |
328 |
| - |
329 | 200 | // Do not run loop pass pipeline in "SYCL Optimization Mode". Loop
|
330 | 201 | // optimizations rely on TTI, which is not accurate for SPIR target.
|
331 | 202 | if (!SYCLOptimizationMode) { // broken formatting to simplify pulldown
|
332 |
| -======= |
333 |
| ->>>>>>> cbcf123af293ee56876cce16dac83c3008478dae |
334 | 203 | // Begin the loop pass pipeline.
|
335 | 204 |
|
336 | 205 | // The simple loop unswitch pass relies on separate cleanup passes. Schedule
|
|
0 commit comments