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

Debug arm64/greedy issue #3561

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 0 additions & 123 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,135 +16,12 @@ jobs:
fail-fast: false
matrix:
include:
- name: flambda2_runtime5
config: --enable-middle-end=flambda2 --enable-runtime5
os: ubuntu-latest

- name: flambda2_dev
config: --enable-middle-end=flambda2 --enable-dev
os: ubuntu-latest

- name: flambda2_dev_runtime5
config: --enable-middle-end=flambda2 --enable-dev --enable-runtime5
os: ubuntu-latest

- name: flambda2_debug_runtime5
config: --enable-middle-end=flambda2 --enable-runtime5
os: ubuntu-latest
build_ocamlparam: ''
use_runtime: d
ocamlrunparam: "v=0,V=1"

- name: flambda2_debug_runtime
config: --enable-middle-end=flambda2
os: ubuntu-latest
build_ocamlparam: ''
use_runtime: d
ocamlrunparam: "v=0,V=1"

- name: flambda2_o3
config: --enable-middle-end=flambda2
os: ubuntu-latest
build_ocamlparam: ''
ocamlparam: '_,O3=1'

- name: flambda2_o3_heap
config: --enable-middle-end=flambda2 --disable-stack-allocation
os: ubuntu-latest
build_ocamlparam: ''
ocamlparam: '_,O3=1'

- name: flambda2_o3_advanced_meet_frame_pointers_runtime5_polling
config: --enable-middle-end=flambda2 --enable-frame-pointers --enable-runtime5 --enable-poll-insertion --enable-flambda-invariants
os: ubuntu-latest
build_ocamlparam: ''
ocamlparam: '_,O3=1,flambda2-meet-algorithm=advanced,flambda2-expert-cont-lifting-budget=200'

- name: flambda2_o3_advanced_meet_frame_pointers_runtime5_debug
config: --enable-middle-end=flambda2 --enable-frame-pointers --enable-runtime5
os: ubuntu-latest
build_ocamlparam: ''
use_runtime: d
ocamlparam: '_,O3=1,flambda2-meet-algorithm=advanced,flambda2-expert-cont-lifting-budget=200'

- name: flambda2_frame_pointers_oclassic_polling
config: --enable-middle-end=flambda2 --enable-frame-pointers --enable-poll-insertion --enable-flambda-invariants
os: ubuntu-latest
build_ocamlparam: ''
ocamlparam: '_,Oclassic=1'
disable_testcases: 'testsuite/tests/typing-local/regression_cmm_unboxing.ml testsuite/tests/int64-unboxing/test.ml'

- name: flambda2_macos_arm64
config: --enable-middle-end=flambda2 --disable-warn-error
os: macos-latest

- name: flambda2_macos_arm64_runtime5_irc
config: --enable-middle-end=flambda2 --enable-runtime5 --disable-warn-error
os: macos-latest
build_ocamlparam: '_,w=-46,regalloc=irc'
ocamlparam: '_,w=-46,regalloc=irc'

- name: flambda2_macos_arm64_runtime5_ls
config: --enable-middle-end=flambda2 --enable-runtime5 --disable-warn-error
os: macos-latest
build_ocamlparam: '_,w=-46,regalloc=ls'
ocamlparam: '_,w=-46,regalloc=ls'

- name: flambda2_macos_arm64_gi
config: --enable-middle-end=flambda2 --disable-warn-error
os: macos-latest
build_ocamlparam: '_,w=-46,regalloc=gi'
ocamlparam: '_,w=-46,regalloc=gi'

- name: irc
config: --enable-middle-end=flambda2
os: ubuntu-latest
build_ocamlparam: '_,w=-46,regalloc=irc'
ocamlparam: '_,w=-46,regalloc=irc'
check_arch: true

- name: irc_polling
config: --enable-middle-end=flambda2 --enable-poll-insertion
os: ubuntu-latest
build_ocamlparam: '_,w=-46,regalloc=irc'
ocamlparam: '_,w=-46,regalloc=irc'
check_arch: true

- name: irc_frame_pointers
config: --enable-middle-end=flambda2 --enable-frame-pointers
os: ubuntu-latest
build_ocamlparam: '_,w=-46,regalloc=irc'
ocamlparam: '_,w=-46,regalloc=irc'
check_arch: true

- name: ls
config: --enable-middle-end=flambda2
os: ubuntu-latest
build_ocamlparam: '_,w=-46,regalloc=ls'
ocamlparam: '_,w=-46,regalloc=ls'
check_arch: true

- name: gi
config: --enable-middle-end=flambda2
os: ubuntu-latest
build_ocamlparam: '_,w=-46,regalloc=gi,cfg-cse-optimize=1'
ocamlparam: '_,w=-46,regalloc=gi,cfg-cse-optimize=1'
check_arch: true

- name: cfg-selection
config: --enable-middle-end=flambda2
os: ubuntu-latest
build_ocamlparam: '_,w=-46,regalloc=cfg,cfg-cse-optimize=1,cfg-selection=1,cfg-zero-alloc-checker=1'
ocamlparam: '_,w=-46,regalloc=cfg,cfg-cse-optimize=1,cfg-selection=1,cfg-zero-alloc-checker=1'
check_arch: true

- name: vectorizer
config: --enable-middle-end=flambda2
os: ubuntu-latest
build_ocamlparam: '_,w=-46,regalloc=cfg,vectorize=1'
ocamlparam: '_,w=-46,regalloc=cfg,vectorize=1'
check_arch: true

env:
J: "3"
run_testsuite: "true"
Expand Down
3 changes: 2 additions & 1 deletion middle_end/flambda2/from_lambda/closure_conversion.ml
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,8 @@ let close_c_call acc env ~loc ~let_bound_ids_with_kinds
prim_native_name;
prim_native_repr_args;
prim_native_repr_res;
prim_is_layout_poly
prim_is_layout_poly;
_
} :
Lambda.external_call_description) as prim_desc)
~(args : Simple.t list list) exn_continuation dbg ~current_region
Expand Down
9 changes: 6 additions & 3 deletions typing/primitive.ml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ type 'repr description_gen =
prim_native_name: string; (* Name of C function for the nat. code gen. *)
prim_native_repr_args: (mode * 'repr) list;
prim_native_repr_res: mode * 'repr;
prim_is_layout_poly: bool }
prim_is_layout_poly: bool;
dummy_field: unit; }

type description = native_repr description_gen

Expand Down Expand Up @@ -102,7 +103,8 @@ let make ~name ~alloc ~c_builtin ~effects ~coeffects
prim_native_name = native_name;
prim_native_repr_args = native_repr_args;
prim_native_repr_res = native_repr_res;
prim_is_layout_poly = is_layout_poly }
prim_is_layout_poly = is_layout_poly;
dummy_field = (); }

let parse_declaration valdecl ~native_repr_args ~native_repr_res ~is_layout_poly =
let arity = List.length native_repr_args in
Expand Down Expand Up @@ -209,7 +211,8 @@ let parse_declaration valdecl ~native_repr_args ~native_repr_res ~is_layout_poly
prim_native_name = native_name;
prim_native_repr_args = native_repr_args;
prim_native_repr_res = native_repr_res;
prim_is_layout_poly }
prim_is_layout_poly;
dummy_field = (); }

open Outcometree

Expand Down
3 changes: 2 additions & 1 deletion typing/primitive.mli
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ type 'repr description_gen = private
prim_native_name: string; (* Name of C function for the nat. code gen. *)
prim_native_repr_args: (mode * 'repr) list;
prim_native_repr_res: mode * 'repr;
prim_is_layout_poly: bool }
prim_is_layout_poly: bool;
dummy_field : unit; }

type description = native_repr description_gen

Expand Down
Loading