[region-isolation] Implement MergeIsolationRegionInst.

I am adding this instruction to express artificially that two non-Sendable
values should be part of the same region. It is meant to be used in cases where
due to unsafe code using Sendable, we stop propagating a non-Sendable dependency
that needs to be made in the same region of a use of said Sendable value. I
included an example in ./docs/SIL.rst of where this comes up with @out results
of continuations.
This commit is contained in:
Michael Gottesman
2024-10-26 13:40:48 -07:00
parent dddfdc891f
commit 3c38c79f7a
26 changed files with 301 additions and 4 deletions

View File

@@ -58,7 +58,7 @@ const uint16_t SWIFTMODULE_VERSION_MAJOR = 0;
/// describe what change you made. The content of this comment isn't important;
/// it just ensures a conflict if two people change the module format.
/// Don't worry about adhering to the 80-column limit for this line.
const uint16_t SWIFTMODULE_VERSION_MINOR = 901; // remove ParenType
const uint16_t SWIFTMODULE_VERSION_MINOR = 902; // merge_isolation_region
/// A standard hash seed used for all string hashes in a serialized module.
///