Skip to content

Commit

Permalink
Dependencies of #472
Browse files Browse the repository at this point in the history
  • Loading branch information
lukemaurer committed Jun 21, 2021
1 parent 1747772 commit bb3ea24
Show file tree
Hide file tree
Showing 30 changed files with 1,132 additions and 777 deletions.
153 changes: 96 additions & 57 deletions .depend
Original file line number Diff line number Diff line change
Expand Up @@ -3794,6 +3794,7 @@ middle_end/flambda/flambda_middle_end.cmo : \
utils/profile.cmi \
middle_end/flambda/parser/print_fexpr.cmi \
utils/misc.cmi \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi \
middle_end/flambda/inlining/inlining_report.cmi \
middle_end/flambda/terms/flambda_unit.cmi \
middle_end/flambda/parser/flambda_to_fexpr.cmi \
Expand All @@ -3802,17 +3803,15 @@ middle_end/flambda/flambda_middle_end.cmo : \
middle_end/flambda/terms/flambda.cmi \
middle_end/flambda/parser/fexpr.cmo \
middle_end/flambda/cmx/exported_code.cmi \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi \
middle_end/flambda/basic/continuation.cmi \
middle_end/flambda/basic/code_id.cmi \
middle_end/flambda/from_lambda/closure_conversion.cmi \
utils/clflags.cmi \
middle_end/flambda/flambda_middle_end.cmi
middle_end/flambda/flambda_middle_end.cmx : \
middle_end/flambda/simplify/simplify.cmx \
utils/profile.cmx \
middle_end/flambda/parser/print_fexpr.cmx \
utils/misc.cmx \
middle_end/flambda/from_lambda/lambda_to_flambda.cmx \
middle_end/flambda/inlining/inlining_report.cmx \
middle_end/flambda/terms/flambda_unit.cmx \
middle_end/flambda/parser/flambda_to_fexpr.cmx \
Expand All @@ -3821,10 +3820,7 @@ middle_end/flambda/flambda_middle_end.cmx : \
middle_end/flambda/terms/flambda.cmx \
middle_end/flambda/parser/fexpr.cmx \
middle_end/flambda/cmx/exported_code.cmx \
middle_end/flambda/from_lambda/lambda_to_flambda.cmx \
middle_end/flambda/basic/continuation.cmx \
middle_end/flambda/basic/code_id.cmx \
middle_end/flambda/from_lambda/closure_conversion.cmx \
utils/clflags.cmx \
middle_end/flambda/flambda_middle_end.cmi
middle_end/flambda/flambda_middle_end.cmi : \
Expand Down Expand Up @@ -4101,6 +4097,7 @@ middle_end/flambda/flambda_middle_end.cmo : \
utils/profile.cmi \
middle_end/flambda/parser/print_fexpr.cmi \
utils/misc.cmi \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi \
middle_end/flambda/inlining/inlining_report.cmi \
middle_end/flambda/terms/flambda_unit.cmi \
middle_end/flambda/parser/flambda_to_fexpr.cmi \
Expand All @@ -4109,17 +4106,15 @@ middle_end/flambda/flambda_middle_end.cmo : \
middle_end/flambda/terms/flambda.cmi \
middle_end/flambda/parser/fexpr.cmo \
middle_end/flambda/cmx/exported_code.cmi \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi \
middle_end/flambda/basic/continuation.cmi \
middle_end/flambda/basic/code_id.cmi \
middle_end/flambda/from_lambda/closure_conversion.cmi \
utils/clflags.cmi \
middle_end/flambda/flambda_middle_end.cmi
middle_end/flambda/flambda_middle_end.cmx : \
middle_end/flambda/simplify/simplify.cmx \
utils/profile.cmx \
middle_end/flambda/parser/print_fexpr.cmx \
utils/misc.cmx \
middle_end/flambda/from_lambda/lambda_to_flambda.cmx \
middle_end/flambda/inlining/inlining_report.cmx \
middle_end/flambda/terms/flambda_unit.cmx \
middle_end/flambda/parser/flambda_to_fexpr.cmx \
Expand All @@ -4128,10 +4123,7 @@ middle_end/flambda/flambda_middle_end.cmx : \
middle_end/flambda/terms/flambda.cmx \
middle_end/flambda/parser/fexpr.cmx \
middle_end/flambda/cmx/exported_code.cmx \
middle_end/flambda/from_lambda/lambda_to_flambda.cmx \
middle_end/flambda/basic/continuation.cmx \
middle_end/flambda/basic/code_id.cmx \
middle_end/flambda/from_lambda/closure_conversion.cmx \
utils/clflags.cmx \
middle_end/flambda/flambda_middle_end.cmi
middle_end/flambda/flambda_middle_end.cmi : \
Expand Down Expand Up @@ -4848,7 +4840,6 @@ middle_end/flambda/from_lambda/closure_conversion.cmo : \
middle_end/flambda/basic/simple.cmi \
middle_end/flambda/terms/set_of_closures.cmi \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/basic/recursive.cmi \
typing/primitive.cmi \
middle_end/flambda/basic/or_variable.cmi \
utils/numbers.cmi \
Expand Down Expand Up @@ -4886,6 +4877,7 @@ middle_end/flambda/from_lambda/closure_conversion.cmo : \
middle_end/flambda/terms/call_kind.cmi \
middle_end/flambda/terms/bound_symbols.cmi \
middle_end/flambda/naming/bindable_let_bound.cmi \
parsing/asttypes.cmi \
middle_end/flambda/terms/apply_cont_expr.cmi \
middle_end/flambda/from_lambda/closure_conversion.cmi
middle_end/flambda/from_lambda/closure_conversion.cmx : \
Expand All @@ -4901,7 +4893,6 @@ middle_end/flambda/from_lambda/closure_conversion.cmx : \
middle_end/flambda/basic/simple.cmx \
middle_end/flambda/terms/set_of_closures.cmx \
middle_end/flambda/basic/reg_width_const.cmx \
middle_end/flambda/basic/recursive.cmx \
typing/primitive.cmx \
middle_end/flambda/basic/or_variable.cmx \
utils/numbers.cmx \
Expand Down Expand Up @@ -4939,18 +4930,23 @@ middle_end/flambda/from_lambda/closure_conversion.cmx : \
middle_end/flambda/terms/call_kind.cmx \
middle_end/flambda/terms/bound_symbols.cmx \
middle_end/flambda/naming/bindable_let_bound.cmx \
parsing/asttypes.cmi \
middle_end/flambda/terms/apply_cont_expr.cmx \
middle_end/flambda/from_lambda/closure_conversion.cmi
middle_end/flambda/from_lambda/closure_conversion.cmi : \
middle_end/flambda/from_lambda/closure_conversion_aux.cmi \
lambda/lambda.cmi \
typing/ident.cmi \
middle_end/flambda/terms/flambda_unit.cmi \
middle_end/flambda/flambda_backend_intf.cmi
middle_end/flambda/flambda_backend_intf.cmi \
middle_end/flambda/basic/continuation.cmi \
middle_end/flambda/from_lambda/closure_conversion_aux.cmi \
parsing/asttypes.cmi
middle_end/flambda/from_lambda/closure_conversion_aux.cmo : \
middle_end/flambda/compilenv_deps/variable.cmi \
middle_end/flambda/compilenv_deps/symbol.cmi \
middle_end/flambda/basic/simple.cmi \
middle_end/flambda/basic/recursive.cmi \
lambda/printlambda.cmi \
utils/numbers.cmi \
middle_end/flambda/naming/name_occurrences.cmi \
middle_end/flambda/naming/name_mode.cmi \
Expand All @@ -4971,6 +4967,7 @@ middle_end/flambda/from_lambda/closure_conversion_aux.cmx : \
middle_end/flambda/compilenv_deps/symbol.cmx \
middle_end/flambda/basic/simple.cmx \
middle_end/flambda/basic/recursive.cmx \
lambda/printlambda.cmx \
utils/numbers.cmx \
middle_end/flambda/naming/name_occurrences.cmx \
middle_end/flambda/naming/name_mode.cmx \
Expand Down Expand Up @@ -5006,47 +5003,6 @@ middle_end/flambda/from_lambda/closure_conversion_aux.cmi : \
middle_end/flambda/basic/code_id.cmi \
middle_end/flambda/basic/closure_id.cmi \
middle_end/flambda/naming/bindable_let_bound.cmi
middle_end/flambda/from_lambda/lambda_to_flambda.cmo : \
lambda/tag.cmi \
lambda/simplif.cmi \
lambda/printlambda.cmi \
typing/primitive.cmi \
utils/numbers.cmi \
utils/misc.cmi \
lambda/matching.cmi \
parsing/location.cmi \
middle_end/flambda/from_lambda/lambda_conversions.cmi \
lambda/lambda.cmi \
typing/ident.cmi \
middle_end/flambda/basic/continuation.cmi \
middle_end/flambda/compilenv_deps/compilation_unit.cmi \
parsing/asttypes.cmi \
middle_end/flambda/flambda_backend_intf.cmi \
middle_end/flambda/from_lambda/closure_conversion_aux.cmi \
middle_end/flambda/from_lambda/closure_conversion.cmi \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi
middle_end/flambda/from_lambda/lambda_to_flambda.cmx : \
lambda/tag.cmx \
lambda/simplif.cmx \
lambda/printlambda.cmx \
typing/primitive.cmx \
utils/numbers.cmx \
utils/misc.cmx \
lambda/matching.cmx \
parsing/location.cmx \
middle_end/flambda/from_lambda/lambda_conversions.cmx \
lambda/lambda.cmx \
typing/ident.cmx \
middle_end/flambda/basic/continuation.cmx \
middle_end/flambda/compilenv_deps/compilation_unit.cmx \
parsing/asttypes.cmi \
middle_end/flambda/flambda_backend_intf.cmi \
middle_end/flambda/from_lambda/closure_conversion_aux.cmx \
middle_end/flambda/from_lambda/closure_conversion.cmx \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi
middle_end/flambda/from_lambda/lambda_to_flambda.cmi : \
middle_end/flambda/flambda_backend_intf.cmi \
lambda/lambda.cmi
middle_end/flambda/from_lambda/lambda_conversions.cmo : \
middle_end/flambda/basic/trap_action.cmi \
utils/targetint.cmi \
Expand Down Expand Up @@ -5086,6 +5042,59 @@ middle_end/flambda/from_lambda/lambda_conversions.cmi : \
middle_end/flambda/terms/flambda_primitive.cmi \
middle_end/flambda/types/kinds/flambda_kind.cmi \
middle_end/flambda/terms/call_kind.cmi
middle_end/flambda/from_lambda/lambda_to_flambda.cmo : \
middle_end/flambda/compilenv_deps/variable.cmi \
lambda/tag.cmi \
utils/strongly_connected_components.cmi \
lambda/simplif.cmi \
middle_end/flambda/basic/recursive.cmi \
lambda/printlambda.cmi \
typing/primitive.cmi \
utils/numbers.cmi \
utils/misc.cmi \
lambda/matching.cmi \
parsing/location.cmi \
middle_end/flambda/from_lambda/lambda_conversions.cmi \
lambda/lambda.cmi \
typing/ident.cmi \
middle_end/flambda/terms/flambda_unit.cmi \
middle_end/flambda/basic/continuation.cmi \
middle_end/flambda/compilenv_deps/compilation_unit.cmi \
middle_end/flambda/basic/closure_id.cmi \
middle_end/flambda/from_lambda/closure_conversion_aux.cmi \
middle_end/flambda/from_lambda/closure_conversion.cmi \
utils/clflags.cmi \
parsing/asttypes.cmi \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi
middle_end/flambda/from_lambda/lambda_to_flambda.cmx : \
middle_end/flambda/compilenv_deps/variable.cmx \
lambda/tag.cmx \
utils/strongly_connected_components.cmx \
lambda/simplif.cmx \
middle_end/flambda/basic/recursive.cmx \
lambda/printlambda.cmx \
typing/primitive.cmx \
utils/numbers.cmx \
utils/misc.cmx \
lambda/matching.cmx \
parsing/location.cmx \
middle_end/flambda/from_lambda/lambda_conversions.cmx \
lambda/lambda.cmx \
typing/ident.cmx \
middle_end/flambda/terms/flambda_unit.cmx \
middle_end/flambda/basic/continuation.cmx \
middle_end/flambda/compilenv_deps/compilation_unit.cmx \
middle_end/flambda/basic/closure_id.cmx \
middle_end/flambda/from_lambda/closure_conversion_aux.cmx \
middle_end/flambda/from_lambda/closure_conversion.cmx \
utils/clflags.cmx \
parsing/asttypes.cmi \
middle_end/flambda/from_lambda/lambda_to_flambda.cmi
middle_end/flambda/from_lambda/lambda_to_flambda.cmi : \
lambda/lambda.cmi \
typing/ident.cmi \
middle_end/flambda/terms/flambda_unit.cmi \
middle_end/flambda/flambda_backend_intf.cmi
middle_end/flambda/from_lambda/lambda_to_flambda_primitives.cmo : \
utils/targetint.cmi \
middle_end/flambda/compilenv_deps/target_imm.cmi \
Expand Down Expand Up @@ -9153,6 +9162,7 @@ middle_end/flambda/types/flambda_type.cmo : \
middle_end/flambda/types/structures/row_like_maps_to_intf.cmo \
middle_end/flambda/naming/renaming.cmi \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/terms/rec_info_expr.cmi \
middle_end/flambda/compilenv_deps/rec_info.cmi \
middle_end/flambda/types/structures/product_intf.cmo \
utils/printing_cache.cmi \
Expand Down Expand Up @@ -9207,6 +9217,7 @@ middle_end/flambda/types/flambda_type.cmx : \
middle_end/flambda/types/structures/row_like_maps_to_intf.cmx \
middle_end/flambda/naming/renaming.cmx \
middle_end/flambda/basic/reg_width_const.cmx \
middle_end/flambda/terms/rec_info_expr.cmx \
middle_end/flambda/compilenv_deps/rec_info.cmx \
middle_end/flambda/types/structures/product_intf.cmx \
utils/printing_cache.cmx \
Expand Down Expand Up @@ -9253,6 +9264,7 @@ middle_end/flambda/types/flambda_type.cmi : \
middle_end/flambda/basic/scope.cmi \
middle_end/flambda/naming/renaming.cmi \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/terms/rec_info_expr.cmi \
middle_end/flambda/compilenv_deps/rec_info.cmi \
utils/printing_cache.cmi \
middle_end/flambda/types/basic/or_unknown_or_bottom.cmi \
Expand Down Expand Up @@ -9360,6 +9372,7 @@ middle_end/flambda/types/type_grammar.rec.cmo : \
middle_end/flambda/types/structures/set_of_closures_contents.cmi \
middle_end/flambda/naming/renaming.cmi \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/terms/rec_info_expr.cmi \
utils/printing_cache.cmi \
middle_end/flambda/types/basic/or_unknown_or_bottom.cmi \
middle_end/flambda/types/basic/or_unknown.cmi \
Expand All @@ -9383,6 +9396,7 @@ middle_end/flambda/types/type_grammar.rec.cmx : \
middle_end/flambda/types/structures/set_of_closures_contents.cmx \
middle_end/flambda/naming/renaming.cmx \
middle_end/flambda/basic/reg_width_const.cmx \
middle_end/flambda/terms/rec_info_expr.cmx \
utils/printing_cache.cmx \
middle_end/flambda/types/basic/or_unknown_or_bottom.cmx \
middle_end/flambda/types/basic/or_unknown.cmx \
Expand All @@ -9403,6 +9417,7 @@ middle_end/flambda/types/type_grammar.rec.cmi : \
lambda/tag.cmi \
middle_end/flambda/basic/simple.cmi \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/terms/rec_info_expr.cmi \
middle_end/flambda/compilenv_deps/rec_info.cmi \
utils/printing_cache.cmi \
middle_end/flambda/types/basic/or_unknown.cmi \
Expand Down Expand Up @@ -10156,6 +10171,21 @@ middle_end/flambda/types/type_of_kind/type_of_kind_naked_nativeint0.rec.cmx : \
middle_end/flambda/types/type_of_kind/type_of_kind_naked_nativeint0.rec.cmi : \
middle_end/flambda/types/type_head_intf.cmo \
utils/targetint.cmi
middle_end/flambda/types/type_of_kind/type_of_kind_rec_info0.rec.cmo : \
middle_end/flambda/terms/rec_info_expr.cmi \
middle_end/flambda/types/basic/or_unknown.cmi \
middle_end/flambda/types/basic/or_bottom.cmi \
middle_end/flambda/compilenv_deps/coercion.cmi \
middle_end/flambda/types/type_of_kind/type_of_kind_rec_info0.rec.cmi
middle_end/flambda/types/type_of_kind/type_of_kind_rec_info0.rec.cmx : \
middle_end/flambda/terms/rec_info_expr.cmx \
middle_end/flambda/types/basic/or_unknown.cmx \
middle_end/flambda/types/basic/or_bottom.cmx \
middle_end/flambda/compilenv_deps/coercion.cmx \
middle_end/flambda/types/type_of_kind/type_of_kind_rec_info0.rec.cmi
middle_end/flambda/types/type_of_kind/type_of_kind_rec_info0.rec.cmi : \
middle_end/flambda/types/type_head_intf.cmo \
middle_end/flambda/terms/rec_info_expr.cmi
middle_end/flambda/types/type_of_kind/type_of_kind_value0.rec.cmo : \
middle_end/flambda/types/basic/string_info.cmi \
utils/printing_cache.cmi \
Expand Down Expand Up @@ -10232,6 +10262,15 @@ middle_end/flambda/types/type_of_kind/variant.rec.cmi : \
\
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_naked_nativeint.rec.cmi : \
middle_end/flambda/types/type_descr_intf.cmo
\
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_rec_info.rec.cmo : \
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_rec_info.rec.cmi
\
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_rec_info.rec.cmx : \
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_rec_info.rec.cmi
\
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_rec_info.rec.cmi : \
middle_end/flambda/types/type_descr_intf.cmo
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_value.rec.cmo : \
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_value.rec.cmi
middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_value.rec.cmx : \
Expand Down
2 changes: 1 addition & 1 deletion compilerlibs/Makefile.compilerlibs
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ MIDDLE_END_FLAMBDA_BASIC=\
middle_end/flambda/naming/name_occurrences.cmo \
middle_end/flambda/types/basic/unit.cmo \
middle_end/flambda/basic/or_variable.cmo \
middle_end/flambda/terms/rec_info_expr.cmo \
middle_end/flambda/basic/simple.cmo \
middle_end/flambda/basic/closure_id.cmo \
middle_end/flambda/cmx/contains_ids.cmo \
Expand Down Expand Up @@ -292,7 +293,6 @@ MIDDLE_END_FLAMBDA_TERMS=\
middle_end/flambda/terms/set_of_closures.cmo \
middle_end/flambda/inlining/metrics/code_size.cmo \
middle_end/flambda/inlining/metrics/removed_operations.cmo \
middle_end/flambda/terms/rec_info_expr.cmo \
middle_end/flambda/terms/flambda.cmo \
middle_end/flambda/terms/flambda_unit.cmo

Expand Down
22 changes: 16 additions & 6 deletions middle_end/flambda/from_lambda/lambda_to_flambda_primitives.ml
Original file line number Diff line number Diff line change
Expand Up @@ -156,26 +156,36 @@ let bigstring_ref ~size_int access_size arg1 arg2 dbg : H.expr_primitive =
}

let bigarray_box_raw_value_read kind =
let error what =
Misc.fatal_errorf
"Don't know how to unbox %s to store it in a bigarray"
what
in
match P.element_kind_of_bigarray_kind kind with
| Value -> Fun.id
| Naked_number k ->
let bi = K.Boxable_number.of_naked_number_kind k in
fun arg -> H.Unary (Box_number bi, Prim arg)
| Fabricated ->
Misc.fatal_errorf
"Don't know how to unbox a fabricated expression to \
store it in a bigarray"
error "a fabricated expression"
| Rec_info ->
error "recursion info"

let bigarray_unbox_value_to_store kind =
let error what =
Misc.fatal_errorf
"Don't know how to unbox %s to store it in a bigarray"
what
in
match P.element_kind_of_bigarray_kind kind with
| Value -> Fun.id
| Naked_number k ->
let bi = K.Boxable_number.of_naked_number_kind k in
fun arg -> H.Prim (Unary (Unbox_number bi, arg))
| Fabricated ->
Misc.fatal_errorf
"Don't know how to unbox a fabricated expression to \
store it in a bigarray"
error "a fabricated expression"
| Rec_info ->
error "recursion info"

let bigarray_dim_bound b dimension =
H.Prim (Unary (Bigarray_length { dimension }, b))
Expand Down
1 change: 1 addition & 0 deletions middle_end/flambda/parser/fexpr.ml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ type kind =
| Value
| Naked_number of Naked_number_kind.t
| Fabricated
| Rec_info

type static_structure = {
symbol : symbol;
Expand Down
Loading

0 comments on commit bb3ea24

Please sign in to comment.