Skip to content

Unarization for Flambda 2 (unboxed products) #1250

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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
# for free to join this conversation on GitHub. Already have an account? # 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