Skip to content

[move-only] Rather than calling the borrow to destructure transform from the MoveOnlyObjectChecker, make its own pass. #63270

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions include/swift/SILOptimizer/PassManager/Passes.def
Original file line number Diff line number Diff line change
Expand Up @@ -460,9 +460,12 @@ PASS(MovedAsyncVarDebugInfoPropagator, "sil-moved-async-var-dbginfo-propagator",
"Propagate debug info from moved async vars after coroutine funclet boundaries")
PASS(MoveOnlyDeinitInsertion, "sil-move-only-deinit-insertion",
"After running move only checking, convert last destroy_values to deinit calls")
PASS(MoveOnlyBorrowToDestructureTransform, "sil-move-only-borrow-to-destructure",
"Utility pass that is used to test the borrow to destructure transform "
"independently of the move only object/address checkers")
PASS(MoveOnlyBorrowToDestructureTransform,
"sil-move-only-borrow-to-destructure",
"Pass that is phased ordered before move only object checking that is "
"used to convert borrow+projection to destructures. Once this has run, the move "
"only object checker runs and ensures that the destructures do not create "
"any move only errors with respect to non-borrow+projection uses")
PASS(PruneVTables, "prune-vtables",
"Mark class methods that do not require vtable dispatch")
PASS_RANGE(AllPasses, AADumper, PruneVTables)
Expand Down
1 change: 0 additions & 1 deletion lib/SILOptimizer/Mandatory/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ target_sources(swiftSILOptimizer PRIVATE
MoveOnlyDeinitInsertion.cpp
MoveOnlyDiagnostics.cpp
MoveOnlyObjectChecker.cpp
MoveOnlyUtils.cpp
NestedSemanticFunctionCheck.cpp
OptimizeHopToExecutor.cpp
PerformanceDiagnostics.cpp
Expand Down
Loading