Skip to content

[move-only] Initial commit of debug info for noncopyable types #64475

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 6 commits into from
Mar 20, 2023

Conversation

gottesmm
Copy link
Contributor

rdar://106767457

…e_debuginfo.

This is in preparation for wiring up debug info support for noncopyable
values. Originally this flag name made sense since it was set when we performed
consume operator checking. Now I am going to use it for noncopyable types as
well. I think the new name uses_moveable_value_debuginfo actually describes what
the flag is supposed to do, tell IRGen that the value may be moved since it
needs to use moveable value debug info emission.
Just getting parsing/serialization to work. I haven't wired it up to anything.
…/debug_value, set the [moveable_value_debuginfo] flag.

This still does not have the complete behavior that we want since we are not yet
inserting the debug_value undef to invalidate after performing moves.

NOTE: In printed SIL, I decided to make the flag implicit if we have a
noncopyable type. This is just to reduce the bloat in SIL. If one needs this
property for a copyable type though, it is mandatory.
I included here SIL tests and in a separate PR against lldb included lldb tests
that validate as we step that the values are validated/invalidated as
appropriate.

rdar://106767457
@gottesmm gottesmm requested a review from eeckstein as a code owner March 19, 2023 23:37
@gottesmm
Copy link
Contributor Author

@swift-ci smoke test

@gottesmm
Copy link
Contributor Author

@swift-ci smoke test

@ktoso
Copy link
Contributor

ktoso commented Mar 20, 2023

Hmm, investigating what happened with those tests.

@ktoso
Copy link
Contributor

ktoso commented Mar 20, 2023

@swift-ci please clean smoke test macOS

@gottesmm gottesmm merged commit eb895e7 into swiftlang:main Mar 20, 2023
@gottesmm gottesmm deleted the sil-noncopyable-debuginfo branch March 20, 2023 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants