Skip to content

Commit c3bc8e8

Browse files
committed
[ownership] Move ownership elimination on the stdlib passed lower aggregate instrs.
1 parent 327f4f8 commit c3bc8e8

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/SILOptimizer/PassManager/PassPipeline.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,13 +286,13 @@ void addFunctionPasses(SILPassPipelinePlan &P,
286286
// Optimize copies from a temporary (an "l-value") to a destination.
287287
P.addTempLValueOpt();
288288

289+
// Split up opaque operations (copy_addr, retain_value, etc.).
290+
P.addLowerAggregateInstrs();
291+
289292
// We earlier eliminated ownership if we are not compiling the stdlib. Now
290293
// handle the stdlib functions.
291294
P.addNonTransparentFunctionOwnershipModelEliminator();
292295

293-
// Split up opaque operations (copy_addr, retain_value, etc.).
294-
P.addLowerAggregateInstrs();
295-
296296
// Split up operations on stack-allocated aggregates (struct, tuple).
297297
if (OpLevel == OptimizationLevelKind::HighLevel) {
298298
P.addEarlySROA();

0 commit comments

Comments
 (0)