Skip to content

Backend_impl / Compilenv changes for Flambda 2 #97

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

Merged
merged 3 commits into from
Jul 23, 2021

Conversation

mshinwell
Copy link
Collaborator

This patch provides a couple of small changes in Compilenv to enable Flambda 2 to access the export information in .cmx files. It then provides the implementation of the "backend interface" module over which certain parts of Flambda 2 are parameterised (just like Flambda 1, to avoid circular dependencies).

The only parts of this that need reviewing in detail now are those in Compilenv and the dune files. I believe I have checked the rest adequately.

@mshinwell mshinwell added the flambda2 Prerequisite for, or part of, flambda2 label Jul 22, 2021
@mshinwell mshinwell changed the base branch from 4.12 to trunk July 22, 2021 16:02
Copy link
Contributor

@gretay-js gretay-js left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know enough about flambda2 to review flambda2_backend_impl.ml in detail, but everything else looks fine.

@mshinwell mshinwell force-pushed the flambda2-backend-impl branch from 8131ab9 to 617d1c4 Compare July 22, 2021 16:54
@mshinwell mshinwell force-pushed the flambda2-backend-impl branch from 617d1c4 to ab4dbbd Compare July 22, 2021 17:02
@mshinwell mshinwell merged commit f93e03f into ocaml-flambda:main Jul 23, 2021
mshinwell added a commit to mshinwell/flambda-backend that referenced this pull request Aug 4, 2021
poechsel added a commit to poechsel/flambda-backend that referenced this pull request Jan 11, 2023
d78ff6d Make immediate64 things mode cross (ocaml-flambda#97)
aa25ab9 Fix version number (ocaml-flambda#94)
d01ffa0 Fix .depend file (ocaml-flambda#93)
942f2ab Bootstrap (ocaml-flambda#92)
05f7e38 Check Menhir version (ocaml-flambda#91)
1569b58 Move the CI jobs from 4.12 to 4.14. (ocaml-flambda#90)

git-subtree-dir: ocaml
git-subtree-split: d78ff6d
ccasin added a commit to ccasin/flambda-backend that referenced this pull request Jan 30, 2023
aaed145833 Merge flambda-backend changes
12306e8092 script changes for jane
a9268d2 Fix misplaced attribute warning when using external parser (and some cleanup) (ocaml-flambda#101)
2b33f24 Refactor toplevel local escape check (ocaml-flambda#104)
ed2aec6 Comment functions exported from TyVarEnv.
87838ba Move new variable creation into TyVarEnv.
a3f60ab Encapsulate functions that work with tyvars
43d83a6 Prevent possibility of forgetting to re-widen
2f3dd34 Encapsulate context when narrowing type env't
d78ff6d Make immediate64 things mode cross (ocaml-flambda#97)
aa25ab9 Fix version number (ocaml-flambda#94)
d01ffa0 Fix .depend file (ocaml-flambda#93)
942f2ab Bootstrap (ocaml-flambda#92)
05f7e38 Check Menhir version (ocaml-flambda#91)
1569b58 Move the CI jobs from 4.12 to 4.14. (ocaml-flambda#90)

git-subtree-dir: ocaml
git-subtree-split: aaed1458333ac63be3c0523f8ff0c7d64d29dc09
riaqn added a commit to riaqn/flambda-backend that referenced this pull request Feb 23, 2023
c703f5f Incorporate upstream comments into type-variable refactor (ocaml-flambda#121)
362ba23 Constrain curry modes to increase along applications (ocaml-flambda#108)
b1f0cf9 Simplify the extension handling (ocaml-flambda#114)
4fd53a1 Remove pat_mode from typedtree (ocaml-flambda#105)
cf6fcbc Handle attributes on lambdas with locally abstract types (ocaml-flambda#120)
5fa80fe Don't track attributes inside attributes for warning 53 (ocaml-flambda#115)
8a69777 Handle unclosed `[: ... :]` patterns (via `Generic_array` machinery) (ocaml-flambda#117)
b0737f4 Add promote-one Makefile target (ocaml-flambda#118)
c6ad684 Refactoring and fixes around module lookup (ocaml-flambda#107)
b0a6495 Add documentation for global constructor arguments (ocaml-flambda#69)
dd79aec Print `nlocal` in the `-d(raw)lambda` output (ocaml-flambda#112)
8035026 Fix `nlocal` in the generated Lambda for list comprehensions (ocaml-flambda#113)
afbcdf0 Immutable arrays (ocaml-flambda#47)
bfe1490 fix several issues when removing exp_mode (ocaml-flambda#110)
8f46060 Better error message for under-applied functions (ocaml-flambda#74)
27331d8 Consistently use Lmutvar or Lvar in comprehensions (ocaml-flambda#111)
01e965b Skip failing test for now
0131357 Fix test case to use comprehensions_experimental
22a7368 Temporarily disable list comprehensions tests due to locals bug
e08377d Make `comprehensions` into `comprehensions_experimental` for now (ocaml-flambda#109)
947cf89 List and array comprehensions (ocaml-flambda#46)
bd9e051 remove exp_mode from typedtree (ocaml-flambda#100)
a9268d2 Fix misplaced attribute warning when using external parser (and some cleanup) (ocaml-flambda#101)
2b33f24 Refactor toplevel local escape check (ocaml-flambda#104)
ed2aec6 Comment functions exported from TyVarEnv.
87838ba Move new variable creation into TyVarEnv.
a3f60ab Encapsulate functions that work with tyvars
43d83a6 Prevent possibility of forgetting to re-widen
2f3dd34 Encapsulate context when narrowing type env't
d78ff6d Make immediate64 things mode cross (ocaml-flambda#97)
aa25ab9 Fix version number (ocaml-flambda#94)
d01ffa0 Fix .depend file (ocaml-flambda#93)
942f2ab Bootstrap (ocaml-flambda#92)
05f7e38 Check Menhir version (ocaml-flambda#91)
1569b58 Move the CI jobs from 4.12 to 4.14. (ocaml-flambda#90)

git-subtree-dir: ocaml
git-subtree-split: c703f5f
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants