File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed
lib/SILOptimizer/PassManager Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -314,12 +314,6 @@ void addFunctionPasses(SILPassPipelinePlan &P,
314314 // Cleanup, which is important if the inliner has restarted the pass pipeline.
315315 P.addPerformanceConstantPropagation ();
316316
317- // We earlier eliminated ownership if we are not compiling the stdlib. Now
318- // handle the stdlib functions, re-simplifying, eliminating ARC as we do.
319- P.addCopyPropagation ();
320- P.addSemanticARCOpts ();
321- P.addNonTransparentFunctionOwnershipModelEliminator ();
322-
323317 addSimplifyCFGSILCombinePasses (P);
324318
325319 P.addArrayElementPropagation ();
@@ -351,6 +345,12 @@ void addFunctionPasses(SILPassPipelinePlan &P,
351345 // class_method/witness_method instructions may use concrete types now.
352346 P.addDevirtualizer ();
353347
348+ // We earlier eliminated ownership if we are not compiling the stdlib. Now
349+ // handle the stdlib functions, re-simplifying, eliminating ARC as we do.
350+ P.addCopyPropagation ();
351+ P.addSemanticARCOpts ();
352+ P.addNonTransparentFunctionOwnershipModelEliminator ();
353+
354354 switch (OpLevel) {
355355 case OptimizationLevelKind::HighLevel:
356356 // Does not inline functions with defined semantics.
You can’t perform that action at this time.
0 commit comments