[sil] Add tuple_addr_constructor an instruction that can be used to initial a tuple in memory from individual address and object components.

This commit just introduces the instruction. In a subsequent commit, I am going
to add support to SILGen to emit this. This ensures that when we assign into a
tuple var we initialize it with one instruction instead of doing it in pieces.
The problem with doing it in pieces is that when one is emitting diagnostics it
looks semantically like SILGen actually is emitting code for initializing in
pieces which could be an error.
This commit is contained in:
Michael Gottesman
2023-11-02 15:19:59 -07:00
parent c47e94336e
commit 6a65c7829e
23 changed files with 643 additions and 102 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 = 817; // Opaque type export details
const uint16_t SWIFTMODULE_VERSION_MINOR = 818; // tuple_addr_constructor
/// A standard hash seed used for all string hashes in a serialized module.
///