From 20b882a14e547cec246c7eda4f51108abfedacc4 Mon Sep 17 00:00:00 2001 From: Michael Gottesman Date: Tue, 2 Feb 2021 13:32:58 -0800 Subject: [PATCH] [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. --- lib/SILOptimizer/PassManager/PassPipeline.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/SILOptimizer/PassManager/PassPipeline.cpp b/lib/SILOptimizer/PassManager/PassPipeline.cpp index a830f135bffde..182c10344531c 100644 --- a/lib/SILOptimizer/PassManager/PassPipeline.cpp +++ b/lib/SILOptimizer/PassManager/PassPipeline.cpp @@ -308,18 +308,18 @@ void addFunctionPasses(SILPassPipelinePlan &P, // Promote stack allocations to values. P.addMem2Reg(); - // We earlier eliminated ownership if we are not compiling the stdlib. Now - // handle the stdlib functions, re-simplifying, eliminating ARC as we do. - P.addCopyPropagation(); - P.addSemanticARCOpts(); - P.addNonTransparentFunctionOwnershipModelEliminator(); - // Run the existential specializer Pass. P.addExistentialSpecializer(); // Cleanup, which is important if the inliner has restarted the pass pipeline. P.addPerformanceConstantPropagation(); + // We earlier eliminated ownership if we are not compiling the stdlib. Now + // handle the stdlib functions, re-simplifying, eliminating ARC as we do. + P.addCopyPropagation(); + P.addSemanticARCOpts(); + P.addNonTransparentFunctionOwnershipModelEliminator(); + addSimplifyCFGSILCombinePasses(P); P.addArrayElementPropagation();