[move-only] Move the non-trivial move only type eliminator to the end of the guaranteed pipeline.

Still being careful with it. With time I want to move it back to IRGen.
This commit is contained in:
Michael Gottesman
2022-09-05 20:24:23 -07:00
parent 9d92d40060
commit dca78695f0

View File

@@ -140,10 +140,6 @@ static void addMandatoryDiagnosticOptPipeline(SILPassPipelinePlan &P) {
P.addMoveKillsCopyableValuesChecker(); // No uses after _move of copyable
// value.
P.addTrivialMoveOnlyTypeEliminator();
// As a temporary measure, we also eliminate move only for non-trivial types
// until we can audit the later part of the pipeline. Eventually, this should
// occur before IRGen.
P.addMoveOnlyTypeEliminator();
P.addAddressLowering();
@@ -221,6 +217,11 @@ static void addMandatoryDiagnosticOptPipeline(SILPassPipelinePlan &P) {
// Canonical swift requires all non cond_br critical edges to be split.
P.addSplitNonCondBrCriticalEdges();
// As a temporary measure, we also eliminate move only for non-trivial types
// until we can audit the later part of the pipeline. Eventually, this should
// occur before IRGen.
P.addMoveOnlyTypeEliminator();
}
SILPassPipelinePlan