Commit Graph

64 Commits

Author SHA1 Message Date
Nate Chandler
210ef1f75a [IRGen] Emit witness tables for packs.
This mostly mirrors what's already implemented for metadata pack emission.
2023-02-07 10:30:08 -08:00
Nate Chandler
b6972bdf82 [NFC] Remove geps by zero. 2023-02-07 10:29:55 -08:00
John McCall
27142e42f6 Add SIL instructions to get and set pack elements 2023-02-07 01:10:15 -05:00
Nate Chandler
a442245925 [IRGen] Lowered open_pack_element. 2023-02-02 12:48:40 -08:00
Nate Chandler
6b22116abf [NFC] Improved parameter name.
The parameter name to emitPackExpansionElementMetadata matched the
preexisting local variable name.  Change it to something meaningful to
callers.  Use a separate commit to make the original extraction more
obviously just an extraction.
2023-02-02 12:48:40 -08:00
Nate Chandler
6bc0c9e84a [NFC] Extracted emitPackExpansionElementMetadata.
The function emits the metadata for the element of a pack expansion at a
specified index.  It was previously defined inline in the loop--defined
in emitPackExpansionType--which populates a new metadata array with
elements derived from a preexisting array.  It will be used to emit a
single element in the case that only one is needed.
2023-02-02 12:48:39 -08:00
Nate Chandler
9eda276e7e [NFC] Extracted tryGetLocalPackTypeMetadata. 2023-02-02 12:48:39 -08:00
Nate Chandler
c239169754 [NFC] Extracted getForwardedPackArchetype. 2023-02-02 12:48:39 -08:00
John McCall
374c202b99 Add SIL instructions to generate pack indices 2023-01-19 23:57:22 -05:00
Holly Borla
2d893d23bf [GenericEnvironment] For opened pack element environments, only include element type
parameters whose originating packs are in a given shape equivalence class.
2023-01-08 12:59:08 -08:00
Holly Borla
715de13dbf [Sema] Key opened pack element generic on the shape class of the expansion. 2023-01-07 15:07:51 -08:00
Slava Pestov
0e72564c47 IRGen: Support for tuple metadata involving pack expansions 2022-12-17 04:13:54 -05:00
Slava Pestov
9bc0f2543f IRGen: Metadata pack emission 2022-12-17 04:13:54 -05:00
Slava Pestov
e5e4e266c8 IRGen: Implement emitPackShapeExpression() 2022-12-13 11:56:33 -05:00