Skip to content
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

Unarization for Flambda 2 (unboxed products) #1250

Closed
wants to merge 3 commits into from

Conversation

mshinwell
Copy link
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
Collaborator Author

(This is based on PR1241)

@mshinwell
Copy link
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
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