File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
lib/SILOptimizer/PassManager Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -395,16 +395,21 @@ static void addPerfEarlyModulePassPipeline(SILPassPipelinePlan &P) {
395
395
// we do not spend time optimizing them.
396
396
P.addDeadFunctionElimination ();
397
397
398
+ // Cleanup after SILGen: remove trivial copies to temporaries.
399
+ P.addTempRValueOpt ();
400
+ // Cleanup after SILGen: remove unneeded borrows/copies.
398
401
P.addSemanticARCOpts ();
399
402
400
403
// Strip ownership from non-transparent functions.
401
404
if (P.getOptions ().StripOwnershipAfterSerialization )
402
405
P.addNonTransparentFunctionOwnershipModelEliminator ();
403
406
404
- // Start by cloning functions from stdlib .
407
+ // Start by linking in referenced functions from other modules .
405
408
P.addPerformanceSILLinker ();
406
409
407
- // Cleanup after SILGen: remove trivial copies to temporaries.
410
+ // Cleanup after SILGen: remove trivial copies to temporaries. This version of
411
+ // temp-rvalue opt is here so that we can hit copies from non-ossa code that
412
+ // is linked in from the stdlib.
408
413
P.addTempRValueOpt ();
409
414
410
415
// Add the outliner pass (Osize).
You can’t perform that action at this time.
0 commit comments