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

Use correct C compiler flags from Makefile.config for foreign_stubs #30

Merged
merged 1 commit into from May 17, 2021

Conversation

gretay-js
Copy link
Contributor

@gretay-js gretay-js commented May 14, 2021

Addresses the second issue from #28.

Use OC_CFLAGS, OC_CPPFLAGS, and SHAREDLIB_CFLAGS for foreign_stubs.

In the standard upstream build that uses Makefiles, C compiler flags include OC_CFLAGS, OC_CPPFLAGS, and SHAREDLIB_CFLAGS. In dune build, flags for building C stubs are automatically supplied by dune from ocamlc -config, which is determined by OCAMLC_CFLAGS and OCAMLC_CPPFLAGS.

The two sets of flags are not the same, for example:

OC_CFLAGS=-std=gnu99 -O2 -fno-strict-aliasing -fwrapv -fno-builtin-memcmp -Wall -Wdeclaration-after-statement -Werror -fexcess-precision=standard -fno-tree-vrp -ffunction-sections
OC_CPPFLAGS= -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE
SHAREDLIB_CFLAGS=-fPIC

OCAMLC_CFLAGS=-std=gnu99 -O2 -fno-strict-aliasing -fwrapv -fno-builtin-memcmp -fPIC
OCAMLC_CPPFLAGS= -D_FILE_OFFSET_BITS=64 -D_REENTRANT

I tried make compare but it fails on my machine even without the PR with something related to Build_path_prefix_map.

Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config
This fixes the missing -ffunction-sections in compilation of C stubs.
We should disable dune behavior of taking C compiler options from
"ocamlc -config" when we move to dune 2.8.
@gretay-js
Copy link
Contributor Author

gretay-js commented May 17, 2021

Rebased and removed a CR which has already been addressed in the context of #28.

@mshinwell mshinwell merged this pull request into ocaml-flambda:4.11 May 17, 2021
mshinwell referenced this pull request in mshinwell/flambda-backend May 17, 2021
Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config
This fixes the missing -ffunction-sections in compilation of C stubs.
We should disable dune behavior of taking C compiler options from
"ocamlc -config" when we move to dune 2.8.
poechsel pushed a commit to poechsel/flambda-backend that referenced this pull request May 26, 2021
…aml-flambda#30)

Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config
This fixes the missing -ffunction-sections in compilation of C stubs.
We should disable dune behavior of taking C compiler options from
"ocamlc -config" when we move to dune 2.8.
poechsel pushed a commit to poechsel/flambda-backend that referenced this pull request May 27, 2021
…aml-flambda#30)

Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config
This fixes the missing -ffunction-sections in compilation of C stubs.
We should disable dune behavior of taking C compiler options from
"ocamlc -config" when we move to dune 2.8.
poechsel pushed a commit that referenced this pull request Jun 28, 2021
Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config
This fixes the missing -ffunction-sections in compilation of C stubs.
We should disable dune behavior of taking C compiler options from
"ocamlc -config" when we move to dune 2.8.
poechsel pushed a commit that referenced this pull request Jun 29, 2021
Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config
This fixes the missing -ffunction-sections in compilation of C stubs.
We should disable dune behavior of taking C compiler options from
"ocamlc -config" when we move to dune 2.8.
poechsel pushed a commit to poechsel/flambda-backend that referenced this pull request Sep 3, 2021
…aml-flambda#30)

Use the same options as in the upstream Makefiles, based on ocaml/Makefile.config
This fixes the missing -ffunction-sections in compilation of C stubs.
We should disable dune behavior of taking C compiler options from
"ocamlc -config" when we move to dune 2.8.
stedolan added a commit to stedolan/flambda-backend that referenced this pull request Nov 11, 2021
5ff04aa1b Merge flambda-backend changes
1a8a32fd4 junk
3620c5892 flambda-backend: Four small inliner fixes (ocaml-flambda#379)
2d165d2e2 flambda-backend: Regenerate ocaml/configure
3838b56b6 flambda-backend: Bump Menhir to version 20210419 (ocaml-flambda#362)
43c14d6a2 flambda-backend: Re-enable -flambda2-join-points (ocaml-flambda#374)
5cd25207f flambda-backend: Disable inlining of recursive functions by default (ocaml-flambda#372)
e98b2776d flambda-backend: Import #10736 (stack limit increases) (ocaml-flambda#373)
82c8086c7 flambda-backend: Use hooks for type tree and parse tree (ocaml-flambda#363)
33bbc9320 flambda-backend: Fix parsecmm.mly in ocaml subdirectory (ocaml-flambda#357)
9650034c5 flambda-backend: Right-to-left evaluation of arguments of String.get and friends (ocaml-flambda#354)
f7d377508 flambda-backend: Revert "Magic numbers" (ocaml-flambda#360)
0bd2fa692 flambda-backend: Add [@inline ready] attribute and remove [@inline hint] (not [@inlined hint]) (ocaml-flambda#351)
cee74af76 flambda-backend: Ensure that functions are evaluated after their arguments (ocaml-flambda#353)
954be59b8 flambda-backend: Bootstrap
dd5c299bb flambda-backend: Change prefix of all magic numbers to avoid clashes with upstream.
c2b135516 flambda-backend: Fix wrong shift generation in Cmm_helpers (ocaml-flambda#347)
739243b6e flambda-backend: Add flambda_oclassic attribute (ocaml-flambda#348)
dc9b7fdc9 flambda-backend: Only speculate during inlining if argument types have useful information (ocaml-flambda#343)
aa190ec2f flambda-backend: Backport fix from PR#10719 (ocaml-flambda#342)
c53a574ce flambda-backend: Reduce max inlining depths at -O2 and -O3 (ocaml-flambda#334)
a2493dc5f flambda-backend: Tweak error messages in Compenv.
1c7b58036 flambda-backend: Change Name_abstraction to use a parameterized type (ocaml-flambda#326)
07e0918cd flambda-backend: Save cfg to file (ocaml-flambda#257)
9427a8d30 flambda-backend: Make inlining parameters more aggressive (ocaml-flambda#332)
fe0610f94 flambda-backend: Do not cache young_limit in a processor register (upstream PR 9876) (ocaml-flambda#315)
56f28b8f9 flambda-backend: Fix an overflow bug in major GC work computation (ocaml-flambda#310)
8e43a499f flambda-backend: Cmm invariants (port upstream PR 1400) (ocaml-flambda#258)
e901f1643 flambda-backend: Add attributes effects and coeffects (ocaml-flambda#18)
aaa1cdba1 flambda-backend: Expose Flambda 2 flags via OCAMLPARAM (ocaml-flambda#304)
62db54f49 flambda-backend: Fix freshening substitutions
57231d2d3 flambda-backend: Evaluate signature substitutions lazily (upstream PR 10599) (ocaml-flambda#280)
a1a07dec7 flambda-backend: Keep Sys.opaque_identity in Cmm and Mach (port upstream PR 9412) (ocaml-flambda#238)
faaf149b6 flambda-backend: Rename Un_cps -> To_cmm (ocaml-flambda#261)
ecb0201ce flambda-backend: Add "-dcfg" flag to ocamlopt (ocaml-flambda#254)
32ec58ad4 flambda-backend: Bypass Simplify (ocaml-flambda#162)
bd4ce4a0a flambda-backend: Revert "Semaphore without probes: dummy notes (ocaml-flambda#142)" (ocaml-flambda#242)
c98530f69 flambda-backend: Semaphore without probes: dummy notes (ocaml-flambda#142)
c9b6a04d6 flambda-backend: Remove hack for .depend from runtime/dune  (ocaml-flambda#170)
6e5d4cf59 flambda-backend: Build and install Semaphore (ocaml-flambda#183)
924eb6064 flambda-backend: Special constructor for %sys_argv primitive (ocaml-flambda#166)
2ac633480 flambda-backend: Build ocamldoc (ocaml-flambda#157)
c6f7267dc flambda-backend: Add -mbranches-within-32B to major_gc.c compilation (where supported)
a99fdeeef flambda-backend: Merge pull request ocaml#10195 from stedolan/mark-prefetching
bd72dcbdf flambda-backend: Prefetching optimisations for sweeping (ocaml#9934)
27fed7e22 flambda-backend: Add missing index param for Obj.field (ocaml-flambda#145)
cd48b2fb9 flambda-backend: Fix camlinternalOO at -O3 with Flambda 2 (ocaml-flambda#132)
9d8543055 flambda-backend: Fix testsuite execution (ocaml-flambda#125)
ac964ca82 flambda-backend: Comment out `[@inlined]` annotation. (ocaml-flambda#136)
ad4afce9a flambda-backend: Fix magic numbers (test suite) (ocaml-flambda#135)
9b033c764 flambda-backend: Disable the comparison of bytecode programs (`ocamltest`) (ocaml-flambda#128)
e650abd05 flambda-backend: Import flambda2 changes (`Asmpackager`) (ocaml-flambda#127)
14dcc3812 flambda-backend: Fix error with Record_unboxed (bug in block kind patch) (ocaml-flambda#119)
2d35761b6 flambda-backend: Resurrect [@inline never] annotations in camlinternalMod (ocaml-flambda#121)
f5985ad1b flambda-backend: Magic numbers for cmx and cmxa files (ocaml-flambda#118)
0e8b9f015 flambda-backend: Extend conditions to include flambda2 (ocaml-flambda#115)
99870c88c flambda-backend: Fix Translobj assertions for Flambda 2 (ocaml-flambda#112)
510631725 flambda-backend: Minor fix for "lazy" compilation in Matching with Flambda 2 (ocaml-flambda#110)
dba922b20 flambda-backend: Oclassic/O2/O3 etc (ocaml-flambda#104)
f88af3e78 flambda-backend: Wire in the remaining Flambda 2 flags (ocaml-flambda#103)
678d64785 flambda-backend: Wire in the Flambda 2 inlining flags (ocaml-flambda#100)
1a8febbeb flambda-backend: Formatting of help text for some Flambda 2 options (ocaml-flambda#101)
9ae1c7ab8 flambda-backend: First set of command-line flags for Flambda 2 (ocaml-flambda#98)
bc0bc5e71 flambda-backend: Add config variables flambda_backend, flambda2 and probes (ocaml-flambda#99)
efb83046a flambda-backend: Build our own ocamlobjinfo from tools/objinfo/ at the root (ocaml-flambda#95)
d2cfaca72 flambda-backend: Add mutability annotations to Pfield etc. (ocaml-flambda#88)
55325558b flambda-backend: Lambda block kinds (ocaml-flambda#86)
0c597baf0 flambda-backend: Revert VERSION, etc. back to 4.12.0 (mostly reverts 822d0a019727dbe7084406069eed3014c5995d5e from upstream 4.12) (ocaml-flambda#93)
037c3d001 flambda-backend: Float blocks
7a9d190f7 flambda-backend: Allow --enable-middle-end=flambda2 etc (ocaml-flambda#89)
905747437 flambda-backend: Root scanning fixes for Flambda 2 (ocaml-flambda#87)
08e02a3a8 flambda-backend: Ensure that Lifthenelse has a boolean-valued condition (ocaml-flambda#63)
77214b724 flambda-backend: Obj changes for Flambda 2 (ocaml-flambda#71)
ecfdd721f flambda-backend: Cherry-pick 9432cfd (ocaml-flambda#84)
d1a4396ca flambda-backend: Add a `returns` field to `Cmm.Cextcall` (ocaml-flambda#74)
575dff5c9 flambda-backend: CMM traps (ocaml-flambda#72)
8a872720d flambda-backend: Remove Obj.set_tag and Obj.truncate (ocaml-flambda#73)
d9017aef2 flambda-backend: Merge pull request ocaml-flambda#80 from mshinwell/fb-backport-pr10205
3a4824eab flambda-backend: Backport PR#10205 from upstream: Avoid overwriting closures while initialising recursive modules
f31890edf flambda-backend: Install missing headers of ocaml/runtime/caml (ocaml-flambda#77)
83516f8a6 flambda-backend: Apply node created for probe should not be annotated as tailcall (ocaml-flambda#76)
bc430cb79 flambda-backend: Add Clflags.is_flambda2 (ocaml-flambda#62)
ed87247ee flambda-backend: Preallocation of blocks in Translmod for value let rec w/ flambda2 (ocaml-flambda#59)
a4b04d5d5 flambda-backend: inline never on Gc.create_alarm (ocaml-flambda#56)
cef0bb693 flambda-backend: Config.flambda2 (ocaml-flambda#58)
ff0e4f700 flambda-backend: Pun labelled arguments with type constraint in function applications (ocaml-flambda#53)
d72c5fba3 flambda-backend: Remove Cmm.memory_chunk.Double_u (ocaml-flambda#42)
9d34d99ed flambda-backend: Install missing artifacts
10146f268 flambda-backend: Add ocamlcfg (ocaml-flambda#34)
819d38a1f flambda-backend: Use OC_CFLAGS, OC_CPPFLAGS, and SHAREDLIB_CFLAGS for foreign libs (ocaml-flambda#30)
f98b564d5 flambda-backend: Pass -function-sections iff supported. (ocaml-flambda#29)
e0eef5e4a flambda-backend: Bootstrap (ocaml-flambda#11 part 2)
17374b425 flambda-backend: Add [@@Builtin] attribute to Primitives (ocaml-flambda#11 part 1)
85127adce flambda-backend: Add builtin, effects and coeffects fields to Cextcall (ocaml-flambda#12)
b670bcfcf flambda-backend: Replace tuple with record in Cextcall (ocaml-flambda#10)
db451b5dc flambda-backend: Speedups in Asmlink (ocaml-flambda#8)
2fe489ddc flambda-backend: Cherry-pick upstream PR#10184 from upstream, dynlink invariant removal (rev 3dc3cd7a4584a69d8ad4cf3c4789a9ecbe544b72 upstream)
d364bfac7 flambda-backend: Local patch against upstream: enable function sections in the Dune build
886b80086 flambda-backend: Local patch against upstream: remove Raw_spacetime_lib (does not build with -m32)
1a7db7ce4 flambda-backend: Local patch against upstream: make dune ignore ocamldoc/ directory
e411dd359 flambda-backend: Local patch against upstream: remove ocaml/testsuite/tests/tool-caml-tex/
1016d03da flambda-backend: Local patch against upstream: remove ocaml/dune-project and ocaml/ocaml-variants.opam
93785e375 flambda-backend: To upstream: export-dynamic for otherlibs/dynlink/ via the natdynlinkops files (still needs .gitignore + way of generating these files)
63db8c127 flambda-backend: To upstream: stop using -O3 in otherlibs/Makefile.otherlibs.common
eb2f1ed62 flambda-backend: To upstream: stop using -O3 for dynlink/
6682f8dca flambda-backend: To upstream: use flambda_o3 attribute instead of -O3 in the Makefile for systhreads/
de197df40 flambda-backend: To upstream: renamed ocamltest_unix.xxx files for dune
bf3773dae flambda-backend: To upstream: dune build fixes (depends on previous to-upstream patches)
6fbc80ed6 flambda-backend: To upstream: refactor otherlibs/dynlink/, removing byte/ and native/
71a03ef00 flambda-backend: To upstream: fix to Ocaml_modifiers in ocamltest
686d6e365 flambda-backend: To upstream: fix dependency problem with Instruct
c31115523 flambda-backend: To upstream: remove threadUnix
52e6e784a flambda-backend: To upstream: stabilise filenames used in backtraces: stdlib/, otherlibs/systhreads/, toplevel/toploop.ml
7d08e0e17 flambda-backend: To upstream: use flambda_o3 attribute in stdlib
403b82e89 flambda-backend: To upstream: flambda_o3 attribute support (includes bootstrap)
65032b107 flambda-backend: To upstream: use nolabels attribute instead of -nolabels for otherlibs/unix/
f533fadb5 flambda-backend: To upstream: remove Compflags, add attributes, etc.
49fc1b5be flambda-backend: To upstream: Add attributes and bootstrap compiler
a4b9e0d57 flambda-backend: Already upstreamed: stdlib capitalisation patch
4c1c2597a flambda-backend: ocaml#9748 from xclerc/share-ev_defname (cherry-pick 3e937fcb562)
00027c45b flambda-backend: permanent/default-to-best-fit (cherry-pick 64240fd716a9d0db57d779ebe5b6f1a67704cdec)
2561dd9f7 flambda-backend: permanent/reraise-by-default (cherry-pick 50e94902ca6bb84c33982db858b74322eefd9af8)
c0aa4f482 flambda-backend: permanent/gc-tuning (cherry-pick e9d6d2f145438dd6a82b56e9b41c8a01e752d81d)

git-subtree-dir: ocaml
git-subtree-split: 5ff04aa1b5f40bf1de19a10717bff62ee8d75ec1
stedolan added a commit to stedolan/flambda-backend that referenced this pull request Jan 18, 2022
23a7f736be flambda-backend: Fix some Debuginfo.t scopes in the frontend (ocaml-flambda#248)
33a04a641d flambda-backend: Attempt to shrink the heap before calling the assembler (ocaml-flambda#429)
8a36a16d47 flambda-backend: Fix to allow stage 2 builds in Flambda 2 -Oclassic mode (ocaml-flambda#442)
d828db6ab7 flambda-backend: Rename -no-extensions flag to -disable-all-extensions (ocaml-flambda#425)
68c39d5f6a flambda-backend: Fix mistake with extension records (ocaml-flambda#423)
423f312cad flambda-backend: Refactor -extension and -standard flags (ocaml-flambda#398)
585e023933 flambda-backend: Improved simplification of array operations (ocaml-flambda#384)
faec6b134d flambda-backend: Typos (ocaml-flambda#407)
8914940048 flambda-backend: Ensure allocations are initialised, even dead ones (ocaml-flambda#405)
6b580013a7 flambda-backend: Move compiler flag -dcfg out of ocaml/ subdirectory (ocaml-flambda#400)
4fd57cf658 flambda-backend: Use ghost loc for extension to avoid expressions with overlapping locations (ocaml-flambda#399)
8d993c52e8 flambda-backend: Let's fix instead of reverting flambda_backend_args (ocaml-flambda#396)
d29b133e8a flambda-backend: Revert "Move flambda-backend specific flags out of ocaml/ subdirectory (ocaml-flambda#382)" (ocaml-flambda#395)
d0cda936ed flambda-backend: Revert ocaml-flambda#373 (ocaml-flambda#393)
1c6eee1c03 flambda-backend: Fix "make check_all_arches" in ocaml/ subdirectory (ocaml-flambda#388)
a7960dd604 flambda-backend: Move flambda-backend specific flags out of ocaml/ subdirectory (ocaml-flambda#382)
bf7b1a87ee flambda-backend: List and Array Comprehensions (ocaml-flambda#147)
f2547dedda flambda-backend: Compile more stdlib files with -O3 (ocaml-flambda#380)
3620c58922 flambda-backend: Four small inliner fixes (ocaml-flambda#379)
2d165d2e2d flambda-backend: Regenerate ocaml/configure
3838b56b61 flambda-backend: Bump Menhir to version 20210419 (ocaml-flambda#362)
43c14d6a25 flambda-backend: Re-enable -flambda2-join-points (ocaml-flambda#374)
5cd25207fc flambda-backend: Disable inlining of recursive functions by default (ocaml-flambda#372)
e98b2776d5 flambda-backend: Import #10736 (stack limit increases) (ocaml-flambda#373)
82c8086c7f flambda-backend: Use hooks for type tree and parse tree (ocaml-flambda#363)
33bbc9320c flambda-backend: Fix parsecmm.mly in ocaml subdirectory (ocaml-flambda#357)
9650034c53 flambda-backend: Right-to-left evaluation of arguments of String.get and friends (ocaml-flambda#354)
f7d3775088 flambda-backend: Revert "Magic numbers" (ocaml-flambda#360)
0bd2fa6923 flambda-backend: Add [@inline ready] attribute and remove [@inline hint] (not [@inlined hint]) (ocaml-flambda#351)
cee74af76f flambda-backend: Ensure that functions are evaluated after their arguments (ocaml-flambda#353)
954be59b81 flambda-backend: Bootstrap
dd5c299bb6 flambda-backend: Change prefix of all magic numbers to avoid clashes with upstream.
c2b1355169 flambda-backend: Fix wrong shift generation in Cmm_helpers (ocaml-flambda#347)
739243b6e2 flambda-backend: Add flambda_oclassic attribute (ocaml-flambda#348)
dc9b7fdc98 flambda-backend: Only speculate during inlining if argument types have useful information (ocaml-flambda#343)
aa190ec2fe flambda-backend: Backport fix from PR#10719 (ocaml-flambda#342)
c53a574ce1 flambda-backend: Reduce max inlining depths at -O2 and -O3 (ocaml-flambda#334)
a2493dc5f8 flambda-backend: Tweak error messages in Compenv.
1c7b580360 flambda-backend: Change Name_abstraction to use a parameterized type (ocaml-flambda#326)
07e0918cdd flambda-backend: Save cfg to file (ocaml-flambda#257)
9427a8d30f flambda-backend: Make inlining parameters more aggressive (ocaml-flambda#332)
fe0610f94e flambda-backend: Do not cache young_limit in a processor register (upstream PR 9876) (ocaml-flambda#315)
56f28b8f9d flambda-backend: Fix an overflow bug in major GC work computation (ocaml-flambda#310)
8e43a499f2 flambda-backend: Cmm invariants (port upstream PR 1400) (ocaml-flambda#258)
e901f16433 flambda-backend: Add attributes effects and coeffects (ocaml-flambda#18)
aaa1cdba16 flambda-backend: Expose Flambda 2 flags via OCAMLPARAM (ocaml-flambda#304)
62db54f498 flambda-backend: Fix freshening substitutions
57231d2d36 flambda-backend: Evaluate signature substitutions lazily (upstream PR 10599) (ocaml-flambda#280)
a1a07dec76 flambda-backend: Keep Sys.opaque_identity in Cmm and Mach (port upstream PR 9412) (ocaml-flambda#238)
faaf149b69 flambda-backend: Rename Un_cps -> To_cmm (ocaml-flambda#261)
ecb0201ce9 flambda-backend: Add "-dcfg" flag to ocamlopt (ocaml-flambda#254)
32ec58ad40 flambda-backend: Bypass Simplify (ocaml-flambda#162)
bd4ce4a0aa flambda-backend: Revert "Semaphore without probes: dummy notes (ocaml-flambda#142)" (ocaml-flambda#242)
c98530f69c flambda-backend: Semaphore without probes: dummy notes (ocaml-flambda#142)
c9b6a04d66 flambda-backend: Remove hack for .depend from runtime/dune  (ocaml-flambda#170)
6e5d4cf59d flambda-backend: Build and install Semaphore (ocaml-flambda#183)
924eb60649 flambda-backend: Special constructor for %sys_argv primitive (ocaml-flambda#166)
2ac633480c flambda-backend: Build ocamldoc (ocaml-flambda#157)
c6f7267dcc flambda-backend: Add -mbranches-within-32B to major_gc.c compilation (where supported)
a99fdeeefa flambda-backend: Merge pull request ocaml#10195 from stedolan/mark-prefetching
bd72dcbdff flambda-backend: Prefetching optimisations for sweeping (ocaml#9934)
27fed7e22c flambda-backend: Add missing index param for Obj.field (ocaml-flambda#145)
cd48b2fb92 flambda-backend: Fix camlinternalOO at -O3 with Flambda 2 (ocaml-flambda#132)
9d85430556 flambda-backend: Fix testsuite execution (ocaml-flambda#125)
ac964ca826 flambda-backend: Comment out `[@inlined]` annotation. (ocaml-flambda#136)
ad4afce9ad flambda-backend: Fix magic numbers (test suite) (ocaml-flambda#135)
9b033c7645 flambda-backend: Disable the comparison of bytecode programs (`ocamltest`) (ocaml-flambda#128)
e650abd055 flambda-backend: Import flambda2 changes (`Asmpackager`) (ocaml-flambda#127)
14dcc38125 flambda-backend: Fix error with Record_unboxed (bug in block kind patch) (ocaml-flambda#119)
2d35761b64 flambda-backend: Resurrect [@inline never] annotations in camlinternalMod (ocaml-flambda#121)
f5985ad1b4 flambda-backend: Magic numbers for cmx and cmxa files (ocaml-flambda#118)
0e8b9f0157 flambda-backend: Extend conditions to include flambda2 (ocaml-flambda#115)
99870c88c4 flambda-backend: Fix Translobj assertions for Flambda 2 (ocaml-flambda#112)
510631725f flambda-backend: Minor fix for "lazy" compilation in Matching with Flambda 2 (ocaml-flambda#110)
dba922b208 flambda-backend: Oclassic/O2/O3 etc (ocaml-flambda#104)
f88af3e785 flambda-backend: Wire in the remaining Flambda 2 flags (ocaml-flambda#103)
678d647855 flambda-backend: Wire in the Flambda 2 inlining flags (ocaml-flambda#100)
1a8febbeb0 flambda-backend: Formatting of help text for some Flambda 2 options (ocaml-flambda#101)
9ae1c7ab85 flambda-backend: First set of command-line flags for Flambda 2 (ocaml-flambda#98)
bc0bc5e713 flambda-backend: Add config variables flambda_backend, flambda2 and probes (ocaml-flambda#99)
efb83046a1 flambda-backend: Build our own ocamlobjinfo from tools/objinfo/ at the root (ocaml-flambda#95)
d2cfaca72f flambda-backend: Add mutability annotations to Pfield etc. (ocaml-flambda#88)
55325558be flambda-backend: Lambda block kinds (ocaml-flambda#86)
0c597baf06 flambda-backend: Revert VERSION, etc. back to 4.12.0 (mostly reverts 822d0a019727dbe7084406069eed3014c5995d5e from upstream 4.12) (ocaml-flambda#93)
037c3d0017 flambda-backend: Float blocks
7a9d190f76 flambda-backend: Allow --enable-middle-end=flambda2 etc (ocaml-flambda#89)
9057474375 flambda-backend: Root scanning fixes for Flambda 2 (ocaml-flambda#87)
08e02a3a86 flambda-backend: Ensure that Lifthenelse has a boolean-valued condition (ocaml-flambda#63)
77214b7243 flambda-backend: Obj changes for Flambda 2 (ocaml-flambda#71)
ecfdd721f8 flambda-backend: Cherry-pick 9432cfd (ocaml-flambda#84)
d1a4396caf flambda-backend: Add a `returns` field to `Cmm.Cextcall` (ocaml-flambda#74)
575dff5c99 flambda-backend: CMM traps (ocaml-flambda#72)
8a872720db flambda-backend: Remove Obj.set_tag and Obj.truncate (ocaml-flambda#73)
d9017aef26 flambda-backend: Merge pull request ocaml-flambda#80 from mshinwell/fb-backport-pr10205
3a4824eab4 flambda-backend: Backport PR#10205 from upstream: Avoid overwriting closures while initialising recursive modules
f31890edfb flambda-backend: Install missing headers of ocaml/runtime/caml (ocaml-flambda#77)
83516f8a64 flambda-backend: Apply node created for probe should not be annotated as tailcall (ocaml-flambda#76)
bc430cb79f flambda-backend: Add Clflags.is_flambda2 (ocaml-flambda#62)
ed87247ee6 flambda-backend: Preallocation of blocks in Translmod for value let rec w/ flambda2 (ocaml-flambda#59)
a4b04d5d59 flambda-backend: inline never on Gc.create_alarm (ocaml-flambda#56)
cef0bb6938 flambda-backend: Config.flambda2 (ocaml-flambda#58)
ff0e4f700f flambda-backend: Pun labelled arguments with type constraint in function applications (ocaml-flambda#53)
d72c5fba32 flambda-backend: Remove Cmm.memory_chunk.Double_u (ocaml-flambda#42)
9d34d99ed3 flambda-backend: Install missing artifacts
10146f268d flambda-backend: Add ocamlcfg (ocaml-flambda#34)
819d38a1f7 flambda-backend: Use OC_CFLAGS, OC_CPPFLAGS, and SHAREDLIB_CFLAGS for foreign libs (ocaml-flambda#30)
f98b564d57 flambda-backend: Pass -function-sections iff supported. (ocaml-flambda#29)
e0eef5e4a0 flambda-backend: Bootstrap (ocaml-flambda#11 part 2)
17374b425b flambda-backend: Add [@@Builtin] attribute to Primitives (ocaml-flambda#11 part 1)
85127adce6 flambda-backend: Add builtin, effects and coeffects fields to Cextcall (ocaml-flambda#12)
b670bcfcf5 flambda-backend: Replace tuple with record in Cextcall (ocaml-flambda#10)
db451b5dc8 flambda-backend: Speedups in Asmlink (ocaml-flambda#8)
2fe489ddc4 flambda-backend: Cherry-pick upstream PR#10184 from upstream, dynlink invariant removal (rev 3dc3cd7a4584a69d8ad4cf3c4789a9ecbe544b72 upstream)
d364bfac74 flambda-backend: Local patch against upstream: enable function sections in the Dune build
886b80086a flambda-backend: Local patch against upstream: remove Raw_spacetime_lib (does not build with -m32)
1a7db7ce42 flambda-backend: Local patch against upstream: make dune ignore ocamldoc/ directory
e411dd359e flambda-backend: Local patch against upstream: remove ocaml/testsuite/tests/tool-caml-tex/
1016d03daf flambda-backend: Local patch against upstream: remove ocaml/dune-project and ocaml/ocaml-variants.opam
93785e3759 flambda-backend: To upstream: export-dynamic for otherlibs/dynlink/ via the natdynlinkops files (still needs .gitignore + way of generating these files)
63db8c127f flambda-backend: To upstream: stop using -O3 in otherlibs/Makefile.otherlibs.common
eb2f1ed623 flambda-backend: To upstream: stop using -O3 for dynlink/
6682f8dcae flambda-backend: To upstream: use flambda_o3 attribute instead of -O3 in the Makefile for systhreads/
de197df406 flambda-backend: To upstream: renamed ocamltest_unix.xxx files for dune
bf3773daec flambda-backend: To upstream: dune build fixes (depends on previous to-upstream patches)
6fbc80ed68 flambda-backend: To upstream: refactor otherlibs/dynlink/, removing byte/ and native/
71a03ef00b flambda-backend: To upstream: fix to Ocaml_modifiers in ocamltest
686d6e365d flambda-backend: To upstream: fix dependency problem with Instruct
c311155234 flambda-backend: To upstream: remove threadUnix
52e6e784ac flambda-backend: To upstream: stabilise filenames used in backtraces: stdlib/, otherlibs/systhreads/, toplevel/toploop.ml
7d08e0e170 flambda-backend: To upstream: use flambda_o3 attribute in stdlib
403b82e890 flambda-backend: To upstream: flambda_o3 attribute support (includes bootstrap)
65032b1071 flambda-backend: To upstream: use nolabels attribute instead of -nolabels for otherlibs/unix/
f533fadb56 flambda-backend: To upstream: remove Compflags, add attributes, etc.
49fc1b5be0 flambda-backend: To upstream: Add attributes and bootstrap compiler
a4b9e0d573 flambda-backend: Already upstreamed: stdlib capitalisation patch
4c1c2597a2 flambda-backend: ocaml#9748 from xclerc/share-ev_defname (cherry-pick 3e937fcb562)
00027c45be flambda-backend: permanent/default-to-best-fit (cherry-pick 64240fd716a9d0db57d779ebe5b6f1a67704cdec)
2561dd9f7e flambda-backend: permanent/reraise-by-default (cherry-pick 50e94902ca6bb84c33982db858b74322eefd9af8)
c0aa4f4822 flambda-backend: permanent/gc-tuning (cherry-pick e9d6d2f145438dd6a82b56e9b41c8a01e752d81d)

git-subtree-dir: ocaml
git-subtree-split: 23a7f736bee823c03fb5e5c586878f7fdac83d75
stedolan added a commit to stedolan/flambda-backend that referenced this pull request Jan 18, 2022
1924269795 Several fixes for partial application and currying
4fee6ae2e8 Pprintast support for new local syntax
8df43e93e5 Quieten Makefile when runtime dep files are not present
88ec84e29e Typecheck x |> f y as (f y x), not ((f y) x)
87a10e3348 Remove autogeneration of @ocaml.curry
c656dc9bb1 Merge flambda-backend changes
11b5424a69 Avoid printing double spaces in function argument lists
7751faa4f9 Restore locations to Typedtree.{pat,let}_bound_idents_full
e450b6c0e9 add build_ocaml_compiler.sexp
0403bb3eed Revert PR 9895 to continue installing VERSION
b3447dbe5d Ensure new local attributes are namespaced properly
7f213fc8b3 Allow empty functions again
8f22ad82ad Bugfix: ensure local domain state is initialised
80f54dd625 Bugfix for Selectgen with regions
e8133a189a Fix external-external signature inclusion
9840051375 Bootstrap
d879f23efd Merge remote-tracking branch 'jane/local-reviewed' into local-merge
94454f5f1c Use Local_store for the local allocations ref
54a164cf35 Create fewer regions, according to typechecking (ocaml-flambda#59)
1c2479bdb3 Merge flambda-backend changes
ce34678606 Fix printing of modes in return types
91f228128b Hook mode variable solving into Btype.snapshot/backtrack
54e4b09d64 Move Alloc_mode and Value_mode to Btype
ff4611e779 Merge flambda-backend changes
ce62e451d5 Ensure allocations are initialised, even dead ones
6b6ec5a744 Fix the alloc.ml test on 32-bit builds
81e9879ac5 Merge flambda-backend changes
40a7f89c96 Update repo URL for ocaml-jst, and rename script.
0454ee73d4 Add some new locally-allocating primitives (ocaml-flambda#57)
8acdda123d Reset the local stack pointer in exception handlers (ocaml-flambda#56)
8dafa98b49 Improve typing for (||) and (&&) (ocaml-flambda#55)
8c64754035 Fix make_check_all_arches (ocaml-flambda#54)
b50cd457aa Allow arguments to primitives to be local even in tail position (ocaml-flambda#53)
cad125dbe3 Fix modes from or-patterns (ocaml-flambda#50)
4efdb7273c Fix tailcalls tests with inlining (ocaml-flambda#52)
4a795cb4af Flambda support (ocaml-flambda#49)
74722cbf35 Add [@ocaml.principal] and [@ocaml.noprincipal] attributes, and use in oo.mli
6d7d3b87b5 Ensure that functions are evaluated after their arguments (flambda-backend ocaml-flambda#353)
89bda6b8ad Keep Sys.opaque_identity in Cmm and Mach (port upstream PR 9412)
a39126a17f Fix tailcalls within regions (ocaml-flambda#48)
4ac4cfd4b8 Fix stdlib manpages build
3a95f5edaf Merge flambda-backend changes
efe80c9b8b Add jane/pull-flambda-patches script
fca94c47c6 Register allocations for Omitted parameter closures (ocaml-flambda#47)
103b139794 Remove various FIXMEs (ocaml-flambda#46)
62ba2c1d50 Bootstrap
a0062ad6c4 Allow local allocations for various primitives (ocaml-flambda#43)
7a2165e64c Allow primitives to be poly-moded (ocaml-flambda#43)
2af3f55db6 Fix a flaky test by refactoring TypePairs (ocaml/ocaml#10638)
58dd8078aa Bootstrap
ee3be10c8f Fix modes in build_apply for partial applications
fe736568e5 Tweak for evaluation order of labelled partial applications (#10653)
052757089e Fix caml_modify on local allocations (ocaml-flambda#40)
e657e995f6 Relax modes for `as` patterns (ocaml-flambda#42)
f815bf2b4f Add special mode handling for tuples in matches and let bindings (ocaml-flambda#38)
39f1211a5f Only take the upper bounds of modes associated with allocations (ocaml-flambda#37)
aec6fde3e4 Interpret arrow types in "local positions" differently
c4f3319d19 Bootstrap
ff6fdade6e Add some missing regions
40d586de9e Bootstrap
66d8110784 Switch to a system with 3 modes for values
f2c5a85bce Bugfix for Comballoc with local allocations. (ocaml-flambda#41)
83bcd09ef1 Fix bug with root scanning during compaction (ocaml-flambda#39)
1b5ec83383 Track modes in Lambda.lfunction and onwards (ocaml-flambda#33)
f1e2e97549 Port ocaml/ocaml#10728
56703cd290 Port ocaml/ocaml#10081
eb66785575 Support local allocations in i386 and fix amd64 bug (ocaml-flambda#31)
c936b1902e Disallow local recursive non-functions (ocaml-flambda#30)
c7a193a0f3 GC support for local allocations (ocaml-flambda#29)
8dd72709c9 Nonlocal fields (ocaml-flambda#28)
e19a2f0571 Bootstrap
694b9ac5be Add syntax to the parser for local allocations (ocaml-flambda#26)
f183008978 Lower initial stack size
918226ff46 Allow local closure allocations (ocaml-flambda#27)
2552e7d257 Introduce mode variables (ocaml-flambda#25)
bc41c99b24 Minor fixes for local allocations (ocaml-flambda#24)
a2a4e608e3 Runtime and compiler support for more local allocations (ocaml-flambda#23)
d03055416b Typechecking for local allocations (ocaml-flambda#21)
9ee2332f66 Bugfix missing from ocaml-flambda#20
02c4cef20e Retain block-structured local regions until Mach.
86dbe1c7da amd64: Move stack realloc calls out-of-line
324d218997 More typing modes and locking of environments
a4080b80f9 Initial version of local allocation (unsafe)

git-subtree-dir: ocaml
git-subtree-split: 1924269795db2450be5c084f7799340e0e003e19
stedolan added a commit that referenced this pull request Jan 25, 2022
23a7f736be flambda-backend: Fix some Debuginfo.t scopes in the frontend (#248)
33a04a641d flambda-backend: Attempt to shrink the heap before calling the assembler (#429)
8a36a16d47 flambda-backend: Fix to allow stage 2 builds in Flambda 2 -Oclassic mode (#442)
d828db6ab7 flambda-backend: Rename -no-extensions flag to -disable-all-extensions (#425)
68c39d5f6a flambda-backend: Fix mistake with extension records (#423)
423f312cad flambda-backend: Refactor -extension and -standard flags (#398)
585e023933 flambda-backend: Improved simplification of array operations (#384)
faec6b134d flambda-backend: Typos (#407)
8914940048 flambda-backend: Ensure allocations are initialised, even dead ones (#405)
6b580013a7 flambda-backend: Move compiler flag -dcfg out of ocaml/ subdirectory (#400)
4fd57cf658 flambda-backend: Use ghost loc for extension to avoid expressions with overlapping locations (#399)
8d993c52e8 flambda-backend: Let's fix instead of reverting flambda_backend_args (#396)
d29b133e8a flambda-backend: Revert "Move flambda-backend specific flags out of ocaml/ subdirectory (#382)" (#395)
d0cda936ed flambda-backend: Revert #373 (#393)
1c6eee1c03 flambda-backend: Fix "make check_all_arches" in ocaml/ subdirectory (#388)
a7960dd604 flambda-backend: Move flambda-backend specific flags out of ocaml/ subdirectory (#382)
bf7b1a87ee flambda-backend: List and Array Comprehensions (#147)
f2547dedda flambda-backend: Compile more stdlib files with -O3 (#380)
3620c58922 flambda-backend: Four small inliner fixes (#379)
2d165d2e2d flambda-backend: Regenerate ocaml/configure
3838b56b61 flambda-backend: Bump Menhir to version 20210419 (#362)
43c14d6a25 flambda-backend: Re-enable -flambda2-join-points (#374)
5cd25207fc flambda-backend: Disable inlining of recursive functions by default (#372)
e98b2776d5 flambda-backend: Import #10736 (stack limit increases) (#373)
82c8086c7f flambda-backend: Use hooks for type tree and parse tree (#363)
33bbc9320c flambda-backend: Fix parsecmm.mly in ocaml subdirectory (#357)
9650034c53 flambda-backend: Right-to-left evaluation of arguments of String.get and friends (#354)
f7d3775088 flambda-backend: Revert "Magic numbers" (#360)
0bd2fa6923 flambda-backend: Add [@inline ready] attribute and remove [@inline hint] (not [@inlined hint]) (#351)
cee74af76f flambda-backend: Ensure that functions are evaluated after their arguments (#353)
954be59b81 flambda-backend: Bootstrap
dd5c299bb6 flambda-backend: Change prefix of all magic numbers to avoid clashes with upstream.
c2b1355169 flambda-backend: Fix wrong shift generation in Cmm_helpers (#347)
739243b6e2 flambda-backend: Add flambda_oclassic attribute (#348)
dc9b7fdc98 flambda-backend: Only speculate during inlining if argument types have useful information (#343)
aa190ec2fe flambda-backend: Backport fix from PR#10719 (#342)
c53a574ce1 flambda-backend: Reduce max inlining depths at -O2 and -O3 (#334)
a2493dc5f8 flambda-backend: Tweak error messages in Compenv.
1c7b580360 flambda-backend: Change Name_abstraction to use a parameterized type (#326)
07e0918cdd flambda-backend: Save cfg to file (#257)
9427a8d30f flambda-backend: Make inlining parameters more aggressive (#332)
fe0610f94e flambda-backend: Do not cache young_limit in a processor register (upstream PR 9876) (#315)
56f28b8f9d flambda-backend: Fix an overflow bug in major GC work computation (#310)
8e43a499f2 flambda-backend: Cmm invariants (port upstream PR 1400) (#258)
e901f16433 flambda-backend: Add attributes effects and coeffects (#18)
aaa1cdba16 flambda-backend: Expose Flambda 2 flags via OCAMLPARAM (#304)
62db54f498 flambda-backend: Fix freshening substitutions
57231d2d36 flambda-backend: Evaluate signature substitutions lazily (upstream PR 10599) (#280)
a1a07dec76 flambda-backend: Keep Sys.opaque_identity in Cmm and Mach (port upstream PR 9412) (#238)
faaf149b69 flambda-backend: Rename Un_cps -> To_cmm (#261)
ecb0201ce9 flambda-backend: Add "-dcfg" flag to ocamlopt (#254)
32ec58ad40 flambda-backend: Bypass Simplify (#162)
bd4ce4a0aa flambda-backend: Revert "Semaphore without probes: dummy notes (#142)" (#242)
c98530f69c flambda-backend: Semaphore without probes: dummy notes (#142)
c9b6a04d66 flambda-backend: Remove hack for .depend from runtime/dune  (#170)
6e5d4cf59d flambda-backend: Build and install Semaphore (#183)
924eb60649 flambda-backend: Special constructor for %sys_argv primitive (#166)
2ac633480c flambda-backend: Build ocamldoc (#157)
c6f7267dcc flambda-backend: Add -mbranches-within-32B to major_gc.c compilation (where supported)
a99fdeeefa flambda-backend: Merge pull request ocaml#10195 from stedolan/mark-prefetching
bd72dcbdff flambda-backend: Prefetching optimisations for sweeping (ocaml#9934)
27fed7e22c flambda-backend: Add missing index param for Obj.field (#145)
cd48b2fb92 flambda-backend: Fix camlinternalOO at -O3 with Flambda 2 (#132)
9d85430556 flambda-backend: Fix testsuite execution (#125)
ac964ca826 flambda-backend: Comment out `[@inlined]` annotation. (#136)
ad4afce9ad flambda-backend: Fix magic numbers (test suite) (#135)
9b033c7645 flambda-backend: Disable the comparison of bytecode programs (`ocamltest`) (#128)
e650abd055 flambda-backend: Import flambda2 changes (`Asmpackager`) (#127)
14dcc38125 flambda-backend: Fix error with Record_unboxed (bug in block kind patch) (#119)
2d35761b64 flambda-backend: Resurrect [@inline never] annotations in camlinternalMod (#121)
f5985ad1b4 flambda-backend: Magic numbers for cmx and cmxa files (#118)
0e8b9f0157 flambda-backend: Extend conditions to include flambda2 (#115)
99870c88c4 flambda-backend: Fix Translobj assertions for Flambda 2 (#112)
510631725f flambda-backend: Minor fix for "lazy" compilation in Matching with Flambda 2 (#110)
dba922b208 flambda-backend: Oclassic/O2/O3 etc (#104)
f88af3e785 flambda-backend: Wire in the remaining Flambda 2 flags (#103)
678d647855 flambda-backend: Wire in the Flambda 2 inlining flags (#100)
1a8febbeb0 flambda-backend: Formatting of help text for some Flambda 2 options (#101)
9ae1c7ab85 flambda-backend: First set of command-line flags for Flambda 2 (#98)
bc0bc5e713 flambda-backend: Add config variables flambda_backend, flambda2 and probes (#99)
efb83046a1 flambda-backend: Build our own ocamlobjinfo from tools/objinfo/ at the root (#95)
d2cfaca72f flambda-backend: Add mutability annotations to Pfield etc. (#88)
55325558be flambda-backend: Lambda block kinds (#86)
0c597baf06 flambda-backend: Revert VERSION, etc. back to 4.12.0 (mostly reverts 822d0a019727dbe7084406069eed3014c5995d5e from upstream 4.12) (#93)
037c3d0017 flambda-backend: Float blocks
7a9d190f76 flambda-backend: Allow --enable-middle-end=flambda2 etc (#89)
9057474375 flambda-backend: Root scanning fixes for Flambda 2 (#87)
08e02a3a86 flambda-backend: Ensure that Lifthenelse has a boolean-valued condition (#63)
77214b7243 flambda-backend: Obj changes for Flambda 2 (#71)
ecfdd721f8 flambda-backend: Cherry-pick 9432cfd (#84)
d1a4396caf flambda-backend: Add a `returns` field to `Cmm.Cextcall` (#74)
575dff5c99 flambda-backend: CMM traps (#72)
8a872720db flambda-backend: Remove Obj.set_tag and Obj.truncate (#73)
d9017aef26 flambda-backend: Merge pull request #80 from mshinwell/fb-backport-pr10205
3a4824eab4 flambda-backend: Backport PR#10205 from upstream: Avoid overwriting closures while initialising recursive modules
f31890edfb flambda-backend: Install missing headers of ocaml/runtime/caml (#77)
83516f8a64 flambda-backend: Apply node created for probe should not be annotated as tailcall (#76)
bc430cb79f flambda-backend: Add Clflags.is_flambda2 (#62)
ed87247ee6 flambda-backend: Preallocation of blocks in Translmod for value let rec w/ flambda2 (#59)
a4b04d5d59 flambda-backend: inline never on Gc.create_alarm (#56)
cef0bb6938 flambda-backend: Config.flambda2 (#58)
ff0e4f700f flambda-backend: Pun labelled arguments with type constraint in function applications (#53)
d72c5fba32 flambda-backend: Remove Cmm.memory_chunk.Double_u (#42)
9d34d99ed3 flambda-backend: Install missing artifacts
10146f268d flambda-backend: Add ocamlcfg (#34)
819d38a1f7 flambda-backend: Use OC_CFLAGS, OC_CPPFLAGS, and SHAREDLIB_CFLAGS for foreign libs (#30)
f98b564d57 flambda-backend: Pass -function-sections iff supported. (#29)
e0eef5e4a0 flambda-backend: Bootstrap (#11 part 2)
17374b425b flambda-backend: Add [@@Builtin] attribute to Primitives (#11 part 1)
85127adce6 flambda-backend: Add builtin, effects and coeffects fields to Cextcall (#12)
b670bcfcf5 flambda-backend: Replace tuple with record in Cextcall (#10)
db451b5dc8 flambda-backend: Speedups in Asmlink (#8)
2fe489ddc4 flambda-backend: Cherry-pick upstream PR#10184 from upstream, dynlink invariant removal (rev 3dc3cd7a4584a69d8ad4cf3c4789a9ecbe544b72 upstream)
d364bfac74 flambda-backend: Local patch against upstream: enable function sections in the Dune build
886b80086a flambda-backend: Local patch against upstream: remove Raw_spacetime_lib (does not build with -m32)
1a7db7ce42 flambda-backend: Local patch against upstream: make dune ignore ocamldoc/ directory
e411dd359e flambda-backend: Local patch against upstream: remove ocaml/testsuite/tests/tool-caml-tex/
1016d03daf flambda-backend: Local patch against upstream: remove ocaml/dune-project and ocaml/ocaml-variants.opam
93785e3759 flambda-backend: To upstream: export-dynamic for otherlibs/dynlink/ via the natdynlinkops files (still needs .gitignore + way of generating these files)
63db8c127f flambda-backend: To upstream: stop using -O3 in otherlibs/Makefile.otherlibs.common
eb2f1ed623 flambda-backend: To upstream: stop using -O3 for dynlink/
6682f8dcae flambda-backend: To upstream: use flambda_o3 attribute instead of -O3 in the Makefile for systhreads/
de197df406 flambda-backend: To upstream: renamed ocamltest_unix.xxx files for dune
bf3773daec flambda-backend: To upstream: dune build fixes (depends on previous to-upstream patches)
6fbc80ed68 flambda-backend: To upstream: refactor otherlibs/dynlink/, removing byte/ and native/
71a03ef00b flambda-backend: To upstream: fix to Ocaml_modifiers in ocamltest
686d6e365d flambda-backend: To upstream: fix dependency problem with Instruct
c311155234 flambda-backend: To upstream: remove threadUnix
52e6e784ac flambda-backend: To upstream: stabilise filenames used in backtraces: stdlib/, otherlibs/systhreads/, toplevel/toploop.ml
7d08e0e170 flambda-backend: To upstream: use flambda_o3 attribute in stdlib
403b82e890 flambda-backend: To upstream: flambda_o3 attribute support (includes bootstrap)
65032b1071 flambda-backend: To upstream: use nolabels attribute instead of -nolabels for otherlibs/unix/
f533fadb56 flambda-backend: To upstream: remove Compflags, add attributes, etc.
49fc1b5be0 flambda-backend: To upstream: Add attributes and bootstrap compiler
a4b9e0d573 flambda-backend: Already upstreamed: stdlib capitalisation patch
4c1c2597a2 flambda-backend: ocaml#9748 from xclerc/share-ev_defname (cherry-pick 3e937fcb562)
00027c45be flambda-backend: permanent/default-to-best-fit (cherry-pick 64240fd716a9d0db57d779ebe5b6f1a67704cdec)
2561dd9f7e flambda-backend: permanent/reraise-by-default (cherry-pick 50e94902ca6bb84c33982db858b74322eefd9af8)
c0aa4f4822 flambda-backend: permanent/gc-tuning (cherry-pick e9d6d2f145438dd6a82b56e9b41c8a01e752d81d)

git-subtree-dir: ocaml
git-subtree-split: 23a7f736bee823c03fb5e5c586878f7fdac83d75
stedolan added a commit that referenced this pull request Feb 1, 2022
173842ce84 Merge flambda-backend changes
ed7eba2054 Remove leading space from LINE. (#484)
bd611705f7 Bump magic numbers (#5)
c50c47d1f9 Add CI builds with local allocations enabled
1412792ed7 Move local allocations support behind '-extension local'
6d8e42aeb7 Better tail call behaviour in caml_applyN
c7dac3da41 Typemod: toplevel bindings escape even if no variables are bound
82d6c3ead3 Several fixes for partial application and currying
d05c70cc93 Pprintast support for new local syntax
e0e62fcdb4 Typecheck x |> f y as (f y x), not ((f y) x)
d7e34ce7bf Remove autogeneration of @ocaml.curry
b9a05935ce Port #493
0a872d96a1 Code review fixes from #491
6c168bbc48 Remove local allocation counting
3c6e7f042c Code review fixes from #478
bb97207d1c Rename Lambda.apply_position
a7cb6509e1 Quieten Makefile when runtime dep files are not present
c656dc9bb1 Merge flambda-backend changes
11b5424a69 Avoid printing double spaces in function argument lists
7751faa4f9 Restore locations to Typedtree.{pat,let}_bound_idents_full
e450b6c0e9 add build_ocaml_compiler.sexp
0403bb3eed Revert PR 9895 to continue installing VERSION
b3447dbe5d Ensure new local attributes are namespaced properly
7f213fc8b3 Allow empty functions again
8f22ad82ad Bugfix: ensure local domain state is initialised
80f54dd625 Bugfix for Selectgen with regions
e8133a189a Fix external-external signature inclusion
9840051375 Bootstrap
d879f23efd Merge remote-tracking branch 'jane/local-reviewed' into local-merge
94454f5f1c Use Local_store for the local allocations ref
54a164cf35 Create fewer regions, according to typechecking (#59)
1c2479bdb3 Merge flambda-backend changes
ce34678606 Fix printing of modes in return types
91f228128b Hook mode variable solving into Btype.snapshot/backtrack
54e4b09d64 Move Alloc_mode and Value_mode to Btype
ff4611e779 Merge flambda-backend changes
ce62e451d5 Ensure allocations are initialised, even dead ones
6b6ec5a744 Fix the alloc.ml test on 32-bit builds
81e9879ac5 Merge flambda-backend changes
40a7f89c96 Update repo URL for ocaml-jst, and rename script.
0454ee73d4 Add some new locally-allocating primitives (#57)
8acdda123d Reset the local stack pointer in exception handlers (#56)
8dafa98b49 Improve typing for (||) and (&&) (#55)
8c64754035 Fix make_check_all_arches (#54)
b50cd457aa Allow arguments to primitives to be local even in tail position (#53)
cad125dbe3 Fix modes from or-patterns (#50)
4efdb7273c Fix tailcalls tests with inlining (#52)
4a795cb4af Flambda support (#49)
74722cbf35 Add [@ocaml.principal] and [@ocaml.noprincipal] attributes, and use in oo.mli
6d7d3b87b5 Ensure that functions are evaluated after their arguments (flambda-backend #353)
89bda6b8ad Keep Sys.opaque_identity in Cmm and Mach (port upstream PR 9412)
a39126a17f Fix tailcalls within regions (#48)
4ac4cfd4b8 Fix stdlib manpages build
3a95f5edaf Merge flambda-backend changes
efe80c9b8b Add jane/pull-flambda-patches script
fca94c47c6 Register allocations for Omitted parameter closures (#47)
103b139794 Remove various FIXMEs (#46)
62ba2c1d50 Bootstrap
a0062ad6c4 Allow local allocations for various primitives (#43)
7a2165e64c Allow primitives to be poly-moded (#43)
2af3f55db6 Fix a flaky test by refactoring TypePairs (ocaml/ocaml#10638)
58dd8078aa Bootstrap
ee3be10c8f Fix modes in build_apply for partial applications
fe736568e5 Tweak for evaluation order of labelled partial applications (#10653)
052757089e Fix caml_modify on local allocations (#40)
e657e995f6 Relax modes for `as` patterns (#42)
f815bf2b4f Add special mode handling for tuples in matches and let bindings (#38)
39f1211a5f Only take the upper bounds of modes associated with allocations (#37)
aec6fde3e4 Interpret arrow types in "local positions" differently
c4f3319d19 Bootstrap
ff6fdade6e Add some missing regions
40d586de9e Bootstrap
66d8110784 Switch to a system with 3 modes for values
f2c5a85bce Bugfix for Comballoc with local allocations. (#41)
83bcd09ef1 Fix bug with root scanning during compaction (#39)
1b5ec83383 Track modes in Lambda.lfunction and onwards (#33)
f1e2e97549 Port ocaml/ocaml#10728
56703cd290 Port ocaml/ocaml#10081
eb66785575 Support local allocations in i386 and fix amd64 bug (#31)
c936b1902e Disallow local recursive non-functions (#30)
c7a193a0f3 GC support for local allocations (#29)
8dd72709c9 Nonlocal fields (#28)
e19a2f0571 Bootstrap
694b9ac5be Add syntax to the parser for local allocations (#26)
f183008978 Lower initial stack size
918226ff46 Allow local closure allocations (#27)
2552e7d257 Introduce mode variables (#25)
bc41c99b24 Minor fixes for local allocations (#24)
a2a4e608e3 Runtime and compiler support for more local allocations (#23)
d03055416b Typechecking for local allocations (#21)
9ee2332f66 Bugfix missing from #20
02c4cef20e Retain block-structured local regions until Mach.
86dbe1c7da amd64: Move stack realloc calls out-of-line
324d218997 More typing modes and locking of environments
a4080b80f9 Initial version of local allocation (unsafe)

git-subtree-dir: ocaml
git-subtree-split: 173842ce847607a032ed3c3753ee14f22556910d
lpw25 added a commit to lpw25/flambda-backend that referenced this pull request Jul 4, 2022
0b0aefb59 Turn some partial application warnings into hints (#11338) (ocaml-flambda#30)
2caa9ee92 Add [@tail] and [@nontail] annotations on applications to control tailcalls (ocaml-flambda#31)
9fb218a0a Update `promote` target to use the `one` machinery (ocaml-flambda#28)
b5ea91231 Make empty types immediate
bc08236e9 Add failing test of an empty type being immediate
f2d439f97 Propagate escaping_context to Env locks to hint about errors (ocaml-flambda#25)
35569e181 Allow warning 68 to be controlled by attributes (ocaml-flambda#16)
28a6243af Allow type_argument to weaken return modes of expected function types (ocaml-flambda#24)
cdc728f56 Fix 'make alldepend' in otherlibs/dynlink
7807d18a0 make alldepend
2d6af2f78 Merge flambda-backend changes

git-subtree-dir: ocaml
git-subtree-split: 0b0aefb59678dd8d7a471317f3a6fa58b0f361f1
lpw25 added a commit that referenced this pull request Jul 4, 2022
0b0aefb59 Turn some partial application warnings into hints (#11338) (#30)
2caa9ee92 Add [@tail] and [@nontail] annotations on applications to control tailcalls (#31)
9fb218a0a Update `promote` target to use the `one` machinery (#28)
b5ea91231 Make empty types immediate
bc08236e9 Add failing test of an empty type being immediate
f2d439f97 Propagate escaping_context to Env locks to hint about errors (#25)
35569e181 Allow warning 68 to be controlled by attributes (#16)
28a6243af Allow type_argument to weaken return modes of expected function types (#24)
cdc728f56 Fix 'make alldepend' in otherlibs/dynlink
7807d18a0 make alldepend
2d6af2f78 Merge flambda-backend changes

git-subtree-dir: ocaml
git-subtree-split: 0b0aefb59678dd8d7a471317f3a6fa58b0f361f1
lpw25 added a commit that referenced this pull request Jul 4, 2022
0b0aefb59 Turn some partial application warnings into hints (#11338) (#30)
2caa9ee92 Add [@tail] and [@nontail] annotations on applications to control tailcalls (#31)
9fb218a0a Update `promote` target to use the `one` machinery (#28)
b5ea91231 Make empty types immediate
bc08236e9 Add failing test of an empty type being immediate
f2d439f97 Propagate escaping_context to Env locks to hint about errors (#25)
35569e181 Allow warning 68 to be controlled by attributes (#16)
28a6243af Allow type_argument to weaken return modes of expected function types (#24)
cdc728f56 Fix 'make alldepend' in otherlibs/dynlink
7807d18a0 make alldepend

git-subtree-dir: ocaml
git-subtree-split: 0b0aefb59678dd8d7a471317f3a6fa58b0f361f1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants