Skip to content

Commit 20b882a

Browse files
committed
[ownership] Move OME on the stdlib passed the existential specializer/performance constant prop.
Just trying to do this in as small chunks as possible to get better blame lists.
1 parent e8bbbb7 commit 20b882a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

lib/SILOptimizer/PassManager/PassPipeline.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -308,18 +308,18 @@ void addFunctionPasses(SILPassPipelinePlan &P,
308308
// Promote stack allocations to values.
309309
P.addMem2Reg();
310310

311-
// We earlier eliminated ownership if we are not compiling the stdlib. Now
312-
// handle the stdlib functions, re-simplifying, eliminating ARC as we do.
313-
P.addCopyPropagation();
314-
P.addSemanticARCOpts();
315-
P.addNonTransparentFunctionOwnershipModelEliminator();
316-
317311
// Run the existential specializer Pass.
318312
P.addExistentialSpecializer();
319313

320314
// Cleanup, which is important if the inliner has restarted the pass pipeline.
321315
P.addPerformanceConstantPropagation();
322316

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+
323323
addSimplifyCFGSILCombinePasses(P);
324324

325325
P.addArrayElementPropagation();

0 commit comments

Comments
 (0)