Skip to content

Unarization for Flambda 2 (unboxed products)#1250

Closed
mshinwell wants to merge 3 commits intooxcaml:mainfrom
mshinwell:flambda2-unarization
Closed

Unarization for Flambda 2 (unboxed products)#1250
mshinwell wants to merge 3 commits intooxcaml:mainfrom
mshinwell:flambda2-unarization

Conversation

@mshinwell
Copy link
Copy Markdown
Collaborator

Unboxed products are split during Lambda_to_flambda. This PR also includes a rewrite of Flambda_arity such that it can carry unboxed arities all the way through, enabling them to be used e.g. to optimize caml_apply when an unboxed product is present.

A frontend hack is present to expose some primitives and get layouts correct on Llet expressions.

There are examples in the up.ml file.

@mshinwell mshinwell added flambda2 Prerequisite for, or part of, flambda2 unboxed types labels Mar 23, 2023
@mshinwell mshinwell marked this pull request as draft March 23, 2023 10:35
@mshinwell mshinwell force-pushed the flambda2-unarization branch 2 times, most recently from bd0dfa0 to 41a4e45 Compare March 23, 2023 12:21
@mshinwell
Copy link
Copy Markdown
Collaborator Author

(This is based on PR1241)

@mshinwell
Copy link
Copy Markdown
Collaborator Author

Now rebased on PR1241

@mshinwell mshinwell marked this pull request as ready for review April 14, 2023 11:30
@mshinwell mshinwell force-pushed the flambda2-unarization branch from 57efe8f to 14598eb Compare April 14, 2023 12:41
@mshinwell
Copy link
Copy Markdown
Collaborator Author

Superceded by #1433

@mshinwell mshinwell closed this Jun 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

flambda2 Prerequisite for, or part of, flambda2 unboxed types

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prototype of unarization for Flambda 2 Unboxed tuples (requires "unarization" pass)

1 participant