From 72ea849d2a16de0abb42afd85c014cb136822e1f Mon Sep 17 00:00:00 2001 From: Mark Shinwell Date: Mon, 1 Apr 2019 17:18:47 +0100 Subject: [PATCH] Move some middle-end files around (#2281) * Various file moves in the middle end: this is the first stage of improving separation between the middle end and backend. * Creation of file_formats/ directory (with associated file moves) to hold the definitions of compilation artifact formats. * Creation of lambda/ directory (with associated file moves) to hold Lambda language definition files, transformation passes and construction passes from Typedtree. * Disable (hopefully temporarily) dynlink, debugger and ocamldoc for the dune build. --- .depend | 5637 +++++++++-------- Changes | 3 + Makefile | 268 +- asmcomp/amd64/emit.mlp | 1 + asmcomp/asmgen.ml | 10 +- asmcomp/asmgen.mli | 1 + asmcomp/asmpackager.ml | 4 +- bytecomp/dune | 8 - debugger/.depend | 8 +- debugger/Makefile | 17 +- debugger/dune | 22 +- driver/optcompile.ml | 8 +- driver/optcompile.mli | 1 + dune | 142 +- {typing => file_formats}/cmi_format.ml | 0 {typing => file_formats}/cmi_format.mli | 0 {bytecomp => file_formats}/cmo_format.mli | 0 {typing => file_formats}/cmt_format.ml | 0 {typing => file_formats}/cmt_format.mli | 0 {asmcomp => file_formats}/cmx_format.mli | 0 {asmcomp => file_formats}/cmxs_format.mli | 0 {middle_end => lambda}/debuginfo.ml | 0 {middle_end => lambda}/debuginfo.mli | 0 lambda/dune | 21 + {bytecomp => lambda}/generate_runtimedef.sh | 0 {bytecomp => lambda}/lambda.ml | 0 {bytecomp => lambda}/lambda.mli | 0 {bytecomp => lambda}/matching.ml | 0 {bytecomp => lambda}/matching.mli | 0 {bytecomp => lambda}/printlambda.ml | 0 {bytecomp => lambda}/printlambda.mli | 0 {bytecomp => lambda}/runtimedef.mli | 0 {bytecomp => lambda}/simplif.ml | 0 {bytecomp => lambda}/simplif.mli | 0 {bytecomp => lambda}/switch.ml | 0 {bytecomp => lambda}/switch.mli | 0 {bytecomp => lambda}/translattribute.ml | 0 {bytecomp => lambda}/translattribute.mli | 0 {bytecomp => lambda}/translclass.ml | 0 {bytecomp => lambda}/translclass.mli | 0 {bytecomp => lambda}/translcore.ml | 0 {bytecomp => lambda}/translcore.mli | 0 {bytecomp => lambda}/translmod.ml | 0 {bytecomp => lambda}/translmod.mli | 0 {bytecomp => lambda}/translobj.ml | 0 {bytecomp => lambda}/translobj.mli | 0 {bytecomp => lambda}/translprim.ml | 0 {bytecomp => lambda}/translprim.mli | 0 {asmcomp => middle_end}/backend_var.ml | 0 {asmcomp => middle_end}/backend_var.mli | 0 {asmcomp => middle_end}/clambda.ml | 0 {asmcomp => middle_end}/clambda.mli | 0 {asmcomp => middle_end}/clambda_primitives.ml | 0 .../clambda_primitives.mli | 0 {asmcomp => middle_end/closure}/closure.ml | 281 +- {asmcomp => middle_end/closure}/closure.mli | 7 +- .../{base_types => }/compilation_unit.ml | 0 .../{base_types => }/compilation_unit.mli | 0 {asmcomp => middle_end}/compilenv.ml | 0 {asmcomp => middle_end}/compilenv.mli | 0 {asmcomp => middle_end}/convert_primitives.ml | 0 .../convert_primitives.mli | 0 middle_end/{ => flambda}/alias_analysis.ml | 0 middle_end/{ => flambda}/alias_analysis.mli | 0 middle_end/{ => flambda}/allocated_const.ml | 0 middle_end/{ => flambda}/allocated_const.mli | 0 .../{ => flambda}/augment_specialised_args.ml | 0 .../augment_specialised_args.mli | 0 .../base_types/closure_element.ml | 0 .../base_types/closure_element.mli | 0 .../{ => flambda}/base_types/closure_id.ml | 0 .../{ => flambda}/base_types/closure_id.mli | 0 .../base_types/closure_origin.ml | 0 .../base_types/closure_origin.mli | 0 .../{ => flambda}/base_types/export_id.ml | 0 .../{ => flambda}/base_types/export_id.mli | 0 .../{ => flambda}/base_types/id_types.ml | 0 .../{ => flambda}/base_types/id_types.mli | 0 .../base_types/mutable_variable.ml | 0 .../base_types/mutable_variable.mli | 0 .../base_types/set_of_closures_id.ml | 0 .../base_types/set_of_closures_id.mli | 0 .../base_types/set_of_closures_origin.ml | 0 .../base_types/set_of_closures_origin.mli | 0 .../base_types/static_exception.ml | 0 .../base_types/static_exception.mli | 0 middle_end/{ => flambda}/base_types/tag.ml | 0 middle_end/{ => flambda}/base_types/tag.mli | 0 .../base_types/var_within_closure.ml | 0 .../base_types/var_within_closure.mli | 0 .../flambda}/build_export_info.ml | 0 .../flambda}/build_export_info.mli | 0 .../{ => flambda}/closure_conversion.ml | 0 .../{ => flambda}/closure_conversion.mli | 0 .../{ => flambda}/closure_conversion_aux.ml | 0 .../{ => flambda}/closure_conversion_aux.mli | 0 .../flambda}/closure_offsets.ml | 0 .../flambda}/closure_offsets.mli | 0 middle_end/{ => flambda}/effect_analysis.ml | 0 middle_end/{ => flambda}/effect_analysis.mli | 0 .../flambda}/export_info.ml | 0 .../flambda}/export_info.mli | 0 .../flambda}/export_info_for_pack.ml | 0 .../flambda}/export_info_for_pack.mli | 0 .../{ => flambda}/extract_projections.ml | 0 .../{ => flambda}/extract_projections.mli | 0 .../{ => flambda}/find_recursive_functions.ml | 0 .../find_recursive_functions.mli | 0 middle_end/{ => flambda}/flambda.ml | 0 middle_end/{ => flambda}/flambda.mli | 0 .../{ => flambda}/flambda_invariants.ml | 0 .../{ => flambda}/flambda_invariants.mli | 0 middle_end/{ => flambda}/flambda_iterators.ml | 0 .../{ => flambda}/flambda_iterators.mli | 0 .../flambda_middle_end.ml} | 0 .../flambda_middle_end.mli} | 0 .../flambda}/flambda_to_clambda.ml | 0 .../flambda}/flambda_to_clambda.mli | 0 middle_end/{ => flambda}/flambda_utils.ml | 0 middle_end/{ => flambda}/flambda_utils.mli | 0 middle_end/{ => flambda}/freshening.ml | 0 middle_end/{ => flambda}/freshening.mli | 0 .../flambda}/import_approx.ml | 0 .../flambda}/import_approx.mli | 0 middle_end/{ => flambda}/inconstant_idents.ml | 0 .../{ => flambda}/inconstant_idents.mli | 0 .../initialize_symbol_to_let_symbol.ml | 0 .../initialize_symbol_to_let_symbol.mli | 0 .../{ => flambda}/inline_and_simplify.ml | 0 .../{ => flambda}/inline_and_simplify.mli | 0 .../{ => flambda}/inline_and_simplify_aux.ml | 0 .../{ => flambda}/inline_and_simplify_aux.mli | 0 middle_end/{ => flambda}/inlining_cost.ml | 0 middle_end/{ => flambda}/inlining_cost.mli | 0 middle_end/{ => flambda}/inlining_decision.ml | 0 .../{ => flambda}/inlining_decision.mli | 0 .../{ => flambda}/inlining_decision_intf.mli | 0 middle_end/{ => flambda}/inlining_stats.ml | 0 middle_end/{ => flambda}/inlining_stats.mli | 0 .../{ => flambda}/inlining_stats_types.ml | 0 .../{ => flambda}/inlining_stats_types.mli | 0 .../{ => flambda}/inlining_transforms.ml | 0 .../{ => flambda}/inlining_transforms.mli | 0 middle_end/{ => flambda}/invariant_params.ml | 0 middle_end/{ => flambda}/invariant_params.mli | 0 middle_end/{ => flambda}/lift_code.ml | 0 middle_end/{ => flambda}/lift_code.mli | 0 middle_end/{ => flambda}/lift_constants.ml | 0 middle_end/{ => flambda}/lift_constants.mli | 0 .../lift_let_to_initialize_symbol.ml | 0 .../lift_let_to_initialize_symbol.mli | 0 middle_end/{ => flambda}/parameter.ml | 0 middle_end/{ => flambda}/parameter.mli | 0 middle_end/{ => flambda}/pass_wrapper.ml | 0 middle_end/{ => flambda}/pass_wrapper.mli | 0 middle_end/{ => flambda}/projection.ml | 0 middle_end/{ => flambda}/projection.mli | 0 middle_end/{ => flambda}/ref_to_variables.ml | 0 middle_end/{ => flambda}/ref_to_variables.mli | 0 .../remove_free_vars_equal_to_args.ml | 0 .../remove_free_vars_equal_to_args.mli | 0 .../{ => flambda}/remove_unused_arguments.ml | 0 .../{ => flambda}/remove_unused_arguments.mli | 0 .../remove_unused_closure_vars.ml | 0 .../remove_unused_closure_vars.mli | 0 .../remove_unused_program_constructs.ml | 0 .../remove_unused_program_constructs.mli | 0 middle_end/{ => flambda}/share_constants.ml | 0 middle_end/{ => flambda}/share_constants.mli | 0 .../{ => flambda}/simple_value_approx.ml | 0 .../{ => flambda}/simple_value_approx.mli | 0 .../simplify_boxed_integer_ops.ml | 0 .../simplify_boxed_integer_ops.mli | 0 .../simplify_boxed_integer_ops_intf.mli | 0 middle_end/{ => flambda}/simplify_common.ml | 0 middle_end/{ => flambda}/simplify_common.mli | 0 .../{ => flambda}/simplify_primitives.ml | 0 .../{ => flambda}/simplify_primitives.mli | 0 .../flambda}/traverse_for_exported_symbols.ml | 0 .../traverse_for_exported_symbols.mli | 0 {asmcomp => middle_end/flambda}/un_anf.ml | 0 {asmcomp => middle_end/flambda}/un_anf.mli | 0 middle_end/{ => flambda}/unbox_closures.ml | 0 middle_end/{ => flambda}/unbox_closures.mli | 0 .../unbox_free_vars_of_closures.ml | 0 .../unbox_free_vars_of_closures.mli | 0 .../{ => flambda}/unbox_specialised_args.ml | 0 .../{ => flambda}/unbox_specialised_args.mli | 0 middle_end/{base_types => }/linkage_name.ml | 0 middle_end/{base_types => }/linkage_name.mli | 0 {asmcomp => middle_end}/printclambda.ml | 0 {asmcomp => middle_end}/printclambda.mli | 0 .../printclambda_primitives.ml | 0 .../printclambda_primitives.mli | 0 .../semantics_of_primitives.ml | 0 .../semantics_of_primitives.mli | 0 middle_end/{base_types => }/symbol.ml | 0 middle_end/{base_types => }/symbol.mli | 0 middle_end/{base_types => }/variable.ml | 0 middle_end/{base_types => }/variable.mli | 0 ocamldoc/Makefile.docfiles | 2 +- ocamltest/Makefile | 2 +- ocamltest/ocaml_modifiers.ml | 1 + otherlibs/dynlink/.depend | 3 +- otherlibs/dynlink/Makefile | 10 +- otherlibs/dynlink/dune | 31 +- testsuite/tools/Makefile | 1 + tools/.depend | 60 +- tools/Makefile | 12 +- toplevel/opttoploop.ml | 4 +- .../int_replace_polymorphic_compare.ml | 0 .../int_replace_polymorphic_compare.mli | 0 212 files changed, 3345 insertions(+), 3220 deletions(-) rename {typing => file_formats}/cmi_format.ml (100%) rename {typing => file_formats}/cmi_format.mli (100%) rename {bytecomp => file_formats}/cmo_format.mli (100%) rename {typing => file_formats}/cmt_format.ml (100%) rename {typing => file_formats}/cmt_format.mli (100%) rename {asmcomp => file_formats}/cmx_format.mli (100%) rename {asmcomp => file_formats}/cmxs_format.mli (100%) rename {middle_end => lambda}/debuginfo.ml (100%) rename {middle_end => lambda}/debuginfo.mli (100%) create mode 100644 lambda/dune rename {bytecomp => lambda}/generate_runtimedef.sh (100%) rename {bytecomp => lambda}/lambda.ml (100%) rename {bytecomp => lambda}/lambda.mli (100%) rename {bytecomp => lambda}/matching.ml (100%) rename {bytecomp => lambda}/matching.mli (100%) rename {bytecomp => lambda}/printlambda.ml (100%) rename {bytecomp => lambda}/printlambda.mli (100%) rename {bytecomp => lambda}/runtimedef.mli (100%) rename {bytecomp => lambda}/simplif.ml (100%) rename {bytecomp => lambda}/simplif.mli (100%) rename {bytecomp => lambda}/switch.ml (100%) rename {bytecomp => lambda}/switch.mli (100%) rename {bytecomp => lambda}/translattribute.ml (100%) rename {bytecomp => lambda}/translattribute.mli (100%) rename {bytecomp => lambda}/translclass.ml (100%) rename {bytecomp => lambda}/translclass.mli (100%) rename {bytecomp => lambda}/translcore.ml (100%) rename {bytecomp => lambda}/translcore.mli (100%) rename {bytecomp => lambda}/translmod.ml (100%) rename {bytecomp => lambda}/translmod.mli (100%) rename {bytecomp => lambda}/translobj.ml (100%) rename {bytecomp => lambda}/translobj.mli (100%) rename {bytecomp => lambda}/translprim.ml (100%) rename {bytecomp => lambda}/translprim.mli (100%) rename {asmcomp => middle_end}/backend_var.ml (100%) rename {asmcomp => middle_end}/backend_var.mli (100%) rename {asmcomp => middle_end}/clambda.ml (100%) rename {asmcomp => middle_end}/clambda.mli (100%) rename {asmcomp => middle_end}/clambda_primitives.ml (100%) rename {asmcomp => middle_end}/clambda_primitives.mli (100%) rename {asmcomp => middle_end/closure}/closure.ml (87%) rename {asmcomp => middle_end/closure}/closure.mli (92%) rename middle_end/{base_types => }/compilation_unit.ml (100%) rename middle_end/{base_types => }/compilation_unit.mli (100%) rename {asmcomp => middle_end}/compilenv.ml (100%) rename {asmcomp => middle_end}/compilenv.mli (100%) rename {asmcomp => middle_end}/convert_primitives.ml (100%) rename {asmcomp => middle_end}/convert_primitives.mli (100%) rename middle_end/{ => flambda}/alias_analysis.ml (100%) rename middle_end/{ => flambda}/alias_analysis.mli (100%) rename middle_end/{ => flambda}/allocated_const.ml (100%) rename middle_end/{ => flambda}/allocated_const.mli (100%) rename middle_end/{ => flambda}/augment_specialised_args.ml (100%) rename middle_end/{ => flambda}/augment_specialised_args.mli (100%) rename middle_end/{ => flambda}/base_types/closure_element.ml (100%) rename middle_end/{ => flambda}/base_types/closure_element.mli (100%) rename middle_end/{ => flambda}/base_types/closure_id.ml (100%) rename middle_end/{ => flambda}/base_types/closure_id.mli (100%) rename middle_end/{ => flambda}/base_types/closure_origin.ml (100%) rename middle_end/{ => flambda}/base_types/closure_origin.mli (100%) rename middle_end/{ => flambda}/base_types/export_id.ml (100%) rename middle_end/{ => flambda}/base_types/export_id.mli (100%) rename middle_end/{ => flambda}/base_types/id_types.ml (100%) rename middle_end/{ => flambda}/base_types/id_types.mli (100%) rename middle_end/{ => flambda}/base_types/mutable_variable.ml (100%) rename middle_end/{ => flambda}/base_types/mutable_variable.mli (100%) rename middle_end/{ => flambda}/base_types/set_of_closures_id.ml (100%) rename middle_end/{ => flambda}/base_types/set_of_closures_id.mli (100%) rename middle_end/{ => flambda}/base_types/set_of_closures_origin.ml (100%) rename middle_end/{ => flambda}/base_types/set_of_closures_origin.mli (100%) rename middle_end/{ => flambda}/base_types/static_exception.ml (100%) rename middle_end/{ => flambda}/base_types/static_exception.mli (100%) rename middle_end/{ => flambda}/base_types/tag.ml (100%) rename middle_end/{ => flambda}/base_types/tag.mli (100%) rename middle_end/{ => flambda}/base_types/var_within_closure.ml (100%) rename middle_end/{ => flambda}/base_types/var_within_closure.mli (100%) rename {asmcomp => middle_end/flambda}/build_export_info.ml (100%) rename {asmcomp => middle_end/flambda}/build_export_info.mli (100%) rename middle_end/{ => flambda}/closure_conversion.ml (100%) rename middle_end/{ => flambda}/closure_conversion.mli (100%) rename middle_end/{ => flambda}/closure_conversion_aux.ml (100%) rename middle_end/{ => flambda}/closure_conversion_aux.mli (100%) rename {asmcomp => middle_end/flambda}/closure_offsets.ml (100%) rename {asmcomp => middle_end/flambda}/closure_offsets.mli (100%) rename middle_end/{ => flambda}/effect_analysis.ml (100%) rename middle_end/{ => flambda}/effect_analysis.mli (100%) rename {asmcomp => middle_end/flambda}/export_info.ml (100%) rename {asmcomp => middle_end/flambda}/export_info.mli (100%) rename {asmcomp => middle_end/flambda}/export_info_for_pack.ml (100%) rename {asmcomp => middle_end/flambda}/export_info_for_pack.mli (100%) rename middle_end/{ => flambda}/extract_projections.ml (100%) rename middle_end/{ => flambda}/extract_projections.mli (100%) rename middle_end/{ => flambda}/find_recursive_functions.ml (100%) rename middle_end/{ => flambda}/find_recursive_functions.mli (100%) rename middle_end/{ => flambda}/flambda.ml (100%) rename middle_end/{ => flambda}/flambda.mli (100%) rename middle_end/{ => flambda}/flambda_invariants.ml (100%) rename middle_end/{ => flambda}/flambda_invariants.mli (100%) rename middle_end/{ => flambda}/flambda_iterators.ml (100%) rename middle_end/{ => flambda}/flambda_iterators.mli (100%) rename middle_end/{middle_end.ml => flambda/flambda_middle_end.ml} (100%) rename middle_end/{middle_end.mli => flambda/flambda_middle_end.mli} (100%) rename {asmcomp => middle_end/flambda}/flambda_to_clambda.ml (100%) rename {asmcomp => middle_end/flambda}/flambda_to_clambda.mli (100%) rename middle_end/{ => flambda}/flambda_utils.ml (100%) rename middle_end/{ => flambda}/flambda_utils.mli (100%) rename middle_end/{ => flambda}/freshening.ml (100%) rename middle_end/{ => flambda}/freshening.mli (100%) rename {asmcomp => middle_end/flambda}/import_approx.ml (100%) rename {asmcomp => middle_end/flambda}/import_approx.mli (100%) rename middle_end/{ => flambda}/inconstant_idents.ml (100%) rename middle_end/{ => flambda}/inconstant_idents.mli (100%) rename middle_end/{ => flambda}/initialize_symbol_to_let_symbol.ml (100%) rename middle_end/{ => flambda}/initialize_symbol_to_let_symbol.mli (100%) rename middle_end/{ => flambda}/inline_and_simplify.ml (100%) rename middle_end/{ => flambda}/inline_and_simplify.mli (100%) rename middle_end/{ => flambda}/inline_and_simplify_aux.ml (100%) rename middle_end/{ => flambda}/inline_and_simplify_aux.mli (100%) rename middle_end/{ => flambda}/inlining_cost.ml (100%) rename middle_end/{ => flambda}/inlining_cost.mli (100%) rename middle_end/{ => flambda}/inlining_decision.ml (100%) rename middle_end/{ => flambda}/inlining_decision.mli (100%) rename middle_end/{ => flambda}/inlining_decision_intf.mli (100%) rename middle_end/{ => flambda}/inlining_stats.ml (100%) rename middle_end/{ => flambda}/inlining_stats.mli (100%) rename middle_end/{ => flambda}/inlining_stats_types.ml (100%) rename middle_end/{ => flambda}/inlining_stats_types.mli (100%) rename middle_end/{ => flambda}/inlining_transforms.ml (100%) rename middle_end/{ => flambda}/inlining_transforms.mli (100%) rename middle_end/{ => flambda}/invariant_params.ml (100%) rename middle_end/{ => flambda}/invariant_params.mli (100%) rename middle_end/{ => flambda}/lift_code.ml (100%) rename middle_end/{ => flambda}/lift_code.mli (100%) rename middle_end/{ => flambda}/lift_constants.ml (100%) rename middle_end/{ => flambda}/lift_constants.mli (100%) rename middle_end/{ => flambda}/lift_let_to_initialize_symbol.ml (100%) rename middle_end/{ => flambda}/lift_let_to_initialize_symbol.mli (100%) rename middle_end/{ => flambda}/parameter.ml (100%) rename middle_end/{ => flambda}/parameter.mli (100%) rename middle_end/{ => flambda}/pass_wrapper.ml (100%) rename middle_end/{ => flambda}/pass_wrapper.mli (100%) rename middle_end/{ => flambda}/projection.ml (100%) rename middle_end/{ => flambda}/projection.mli (100%) rename middle_end/{ => flambda}/ref_to_variables.ml (100%) rename middle_end/{ => flambda}/ref_to_variables.mli (100%) rename middle_end/{ => flambda}/remove_free_vars_equal_to_args.ml (100%) rename middle_end/{ => flambda}/remove_free_vars_equal_to_args.mli (100%) rename middle_end/{ => flambda}/remove_unused_arguments.ml (100%) rename middle_end/{ => flambda}/remove_unused_arguments.mli (100%) rename middle_end/{ => flambda}/remove_unused_closure_vars.ml (100%) rename middle_end/{ => flambda}/remove_unused_closure_vars.mli (100%) rename middle_end/{ => flambda}/remove_unused_program_constructs.ml (100%) rename middle_end/{ => flambda}/remove_unused_program_constructs.mli (100%) rename middle_end/{ => flambda}/share_constants.ml (100%) rename middle_end/{ => flambda}/share_constants.mli (100%) rename middle_end/{ => flambda}/simple_value_approx.ml (100%) rename middle_end/{ => flambda}/simple_value_approx.mli (100%) rename middle_end/{ => flambda}/simplify_boxed_integer_ops.ml (100%) rename middle_end/{ => flambda}/simplify_boxed_integer_ops.mli (100%) rename middle_end/{ => flambda}/simplify_boxed_integer_ops_intf.mli (100%) rename middle_end/{ => flambda}/simplify_common.ml (100%) rename middle_end/{ => flambda}/simplify_common.mli (100%) rename middle_end/{ => flambda}/simplify_primitives.ml (100%) rename middle_end/{ => flambda}/simplify_primitives.mli (100%) rename {asmcomp => middle_end/flambda}/traverse_for_exported_symbols.ml (100%) rename {asmcomp => middle_end/flambda}/traverse_for_exported_symbols.mli (100%) rename {asmcomp => middle_end/flambda}/un_anf.ml (100%) rename {asmcomp => middle_end/flambda}/un_anf.mli (100%) rename middle_end/{ => flambda}/unbox_closures.ml (100%) rename middle_end/{ => flambda}/unbox_closures.mli (100%) rename middle_end/{ => flambda}/unbox_free_vars_of_closures.ml (100%) rename middle_end/{ => flambda}/unbox_free_vars_of_closures.mli (100%) rename middle_end/{ => flambda}/unbox_specialised_args.ml (100%) rename middle_end/{ => flambda}/unbox_specialised_args.mli (100%) rename middle_end/{base_types => }/linkage_name.ml (100%) rename middle_end/{base_types => }/linkage_name.mli (100%) rename {asmcomp => middle_end}/printclambda.ml (100%) rename {asmcomp => middle_end}/printclambda.mli (100%) rename {asmcomp => middle_end}/printclambda_primitives.ml (100%) rename {asmcomp => middle_end}/printclambda_primitives.mli (100%) rename {asmcomp => middle_end}/semantics_of_primitives.ml (100%) rename {asmcomp => middle_end}/semantics_of_primitives.mli (100%) rename middle_end/{base_types => }/symbol.ml (100%) rename middle_end/{base_types => }/symbol.mli (100%) rename middle_end/{base_types => }/variable.ml (100%) rename middle_end/{base_types => }/variable.mli (100%) rename {middle_end => utils}/int_replace_polymorphic_compare.ml (100%) rename {middle_end => utils}/int_replace_polymorphic_compare.mli (100%) diff --git a/.depend b/.depend index a43049514..45473a40c 100644 --- a/.depend +++ b/.depend @@ -58,6 +58,11 @@ utils/identifiable.cmx : \ utils/misc.cmx \ utils/identifiable.cmi utils/identifiable.cmi : +utils/int_replace_polymorphic_compare.cmo : \ + utils/int_replace_polymorphic_compare.cmi +utils/int_replace_polymorphic_compare.cmx : \ + utils/int_replace_polymorphic_compare.cmi +utils/int_replace_polymorphic_compare.cmi : utils/load_path.cmo : \ utils/misc.cmi \ utils/load_path.cmi @@ -431,54 +436,6 @@ typing/btype.cmi : \ typing/types.cmi \ typing/path.cmi \ parsing/asttypes.cmi -typing/cmi_format.cmo : \ - typing/types.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - utils/config.cmi \ - typing/cmi_format.cmi -typing/cmi_format.cmx : \ - typing/types.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - utils/config.cmx \ - typing/cmi_format.cmi -typing/cmi_format.cmi : \ - typing/types.cmi \ - utils/misc.cmi -typing/cmt_format.cmo : \ - typing/types.cmi \ - typing/typedtree.cmi \ - typing/tast_mapper.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - utils/load_path.cmi \ - parsing/lexer.cmi \ - typing/env.cmi \ - utils/config.cmi \ - typing/cmi_format.cmi \ - utils/clflags.cmi \ - typing/cmt_format.cmi -typing/cmt_format.cmx : \ - typing/types.cmx \ - typing/typedtree.cmx \ - typing/tast_mapper.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - utils/load_path.cmx \ - parsing/lexer.cmx \ - typing/env.cmx \ - utils/config.cmx \ - typing/cmi_format.cmx \ - utils/clflags.cmx \ - typing/cmt_format.cmi -typing/cmt_format.cmi : \ - typing/types.cmi \ - typing/typedtree.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - typing/env.cmi \ - typing/cmi_format.cmi typing/ctype.cmo : \ typing/types.cmi \ typing/subst.cmi \ @@ -547,7 +504,7 @@ typing/env.cmo : \ utils/load_path.cmi \ typing/ident.cmi \ typing/datarepr.cmi \ - typing/cmi_format.cmi \ + file_formats/cmi_format.cmi \ utils/clflags.cmi \ parsing/builtin_attributes.cmi \ typing/btype.cmi \ @@ -566,7 +523,7 @@ typing/env.cmx : \ utils/load_path.cmx \ typing/ident.cmx \ typing/datarepr.cmx \ - typing/cmi_format.cmx \ + file_formats/cmi_format.cmx \ utils/clflags.cmx \ parsing/builtin_attributes.cmx \ typing/btype.cmx \ @@ -582,7 +539,7 @@ typing/env.cmi : \ parsing/location.cmi \ utils/load_path.cmi \ typing/ident.cmi \ - typing/cmi_format.cmi \ + file_formats/cmi_format.cmi \ parsing/asttypes.cmi typing/envaux.cmo : \ typing/subst.cmi \ @@ -679,7 +636,7 @@ typing/includemod.cmo : \ typing/ident.cmi \ typing/env.cmi \ typing/ctype.cmi \ - typing/cmt_format.cmi \ + file_formats/cmt_format.cmi \ utils/clflags.cmi \ parsing/builtin_attributes.cmi \ typing/btype.cmi \ @@ -700,7 +657,7 @@ typing/includemod.cmx : \ typing/ident.cmx \ typing/env.cmx \ typing/ctype.cmx \ - typing/cmt_format.cmx \ + file_formats/cmt_format.cmx \ utils/clflags.cmx \ parsing/builtin_attributes.cmx \ typing/btype.cmx \ @@ -825,7 +782,7 @@ typing/persistent_env.cmo : \ utils/load_path.cmi \ utils/consistbl.cmi \ utils/config.cmi \ - typing/cmi_format.cmi \ + file_formats/cmi_format.cmi \ utils/clflags.cmi \ typing/persistent_env.cmi typing/persistent_env.cmx : \ @@ -835,7 +792,7 @@ typing/persistent_env.cmx : \ utils/load_path.cmx \ utils/consistbl.cmx \ utils/config.cmx \ - typing/cmi_format.cmx \ + file_formats/cmi_format.cmx \ utils/clflags.cmx \ typing/persistent_env.cmi typing/persistent_env.cmi : \ @@ -843,7 +800,7 @@ typing/persistent_env.cmi : \ utils/misc.cmi \ parsing/location.cmi \ utils/consistbl.cmi \ - typing/cmi_format.cmi + file_formats/cmi_format.cmi typing/predef.cmo : \ typing/types.cmi \ typing/path.cmi \ @@ -983,7 +940,7 @@ typing/rec_check.cmo : \ typing/typedtree.cmi \ typing/primitive.cmi \ typing/path.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ parsing/asttypes.cmi \ typing/rec_check.cmi @@ -993,7 +950,7 @@ typing/rec_check.cmx : \ typing/typedtree.cmx \ typing/primitive.cmx \ typing/path.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ typing/ident.cmx \ parsing/asttypes.cmi \ typing/rec_check.cmi @@ -1096,7 +1053,7 @@ typing/typeclass.cmo : \ typing/ident.cmi \ typing/env.cmi \ typing/ctype.cmi \ - typing/cmt_format.cmi \ + file_formats/cmt_format.cmi \ utils/clflags.cmi \ parsing/builtin_attributes.cmi \ typing/btype.cmi \ @@ -1125,7 +1082,7 @@ typing/typeclass.cmx : \ typing/ident.cmx \ typing/env.cmx \ typing/ctype.cmx \ - typing/cmt_format.cmx \ + file_formats/cmt_format.cmx \ utils/clflags.cmx \ parsing/builtin_attributes.cmx \ typing/btype.cmx \ @@ -1167,7 +1124,7 @@ typing/typecore.cmo : \ typing/ident.cmi \ typing/env.cmi \ typing/ctype.cmi \ - typing/cmt_format.cmi \ + file_formats/cmt_format.cmi \ utils/clflags.cmi \ parsing/builtin_attributes.cmi \ typing/btype.cmi \ @@ -1200,7 +1157,7 @@ typing/typecore.cmx : \ typing/ident.cmx \ typing/env.cmx \ typing/ctype.cmx \ - typing/cmt_format.cmx \ + file_formats/cmt_format.cmx \ utils/clflags.cmx \ parsing/builtin_attributes.cmx \ typing/btype.cmx \ @@ -1441,8 +1398,8 @@ typing/typemod.cmo : \ typing/env.cmi \ typing/ctype.cmi \ utils/config.cmi \ - typing/cmt_format.cmi \ - typing/cmi_format.cmi \ + file_formats/cmt_format.cmi \ + file_formats/cmi_format.cmi \ utils/clflags.cmi \ parsing/builtin_attributes.cmi \ typing/btype.cmi \ @@ -1473,8 +1430,8 @@ typing/typemod.cmx : \ typing/env.cmx \ typing/ctype.cmx \ utils/config.cmx \ - typing/cmt_format.cmx \ - typing/cmi_format.cmx \ + file_formats/cmt_format.cmx \ + file_formats/cmi_format.cmx \ utils/clflags.cmx \ parsing/builtin_attributes.cmx \ typing/btype.cmx \ @@ -1493,14 +1450,14 @@ typing/typemod.cmi : \ typing/includemod.cmi \ typing/ident.cmi \ typing/env.cmi \ - typing/cmi_format.cmi + file_formats/cmi_format.cmi typing/typeopt.cmo : \ typing/types.cmi \ typing/typedtree.cmi \ typing/typedecl.cmi \ typing/predef.cmi \ typing/path.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ typing/env.cmi \ typing/ctype.cmi \ @@ -1513,7 +1470,7 @@ typing/typeopt.cmx : \ typing/typedecl.cmx \ typing/predef.cmx \ typing/path.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ typing/ident.cmx \ typing/env.cmx \ typing/ctype.cmx \ @@ -1524,7 +1481,7 @@ typing/typeopt.cmi : \ typing/types.cmi \ typing/typedtree.cmi \ typing/path.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/env.cmi typing/types.cmo : \ typing/primitive.cmi \ @@ -1640,12 +1597,12 @@ typing/untypeast.cmi : \ parsing/asttypes.cmi bytecomp/bytegen.cmo : \ typing/types.cmi \ - bytecomp/switch.cmi \ + lambda/switch.cmi \ typing/subst.cmi \ typing/primitive.cmi \ utils/misc.cmi \ - bytecomp/matching.cmi \ - bytecomp/lambda.cmi \ + lambda/matching.cmi \ + lambda/lambda.cmi \ bytecomp/instruct.cmi \ typing/ident.cmi \ typing/env.cmi \ @@ -1654,12 +1611,12 @@ bytecomp/bytegen.cmo : \ bytecomp/bytegen.cmi bytecomp/bytegen.cmx : \ typing/types.cmx \ - bytecomp/switch.cmx \ + lambda/switch.cmx \ typing/subst.cmx \ typing/primitive.cmx \ utils/misc.cmx \ - bytecomp/matching.cmx \ - bytecomp/lambda.cmx \ + lambda/matching.cmx \ + lambda/lambda.cmx \ bytecomp/instruct.cmx \ typing/ident.cmx \ typing/env.cmx \ @@ -1667,7 +1624,7 @@ bytecomp/bytegen.cmx : \ parsing/asttypes.cmi \ bytecomp/bytegen.cmi bytecomp/bytegen.cmi : \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ bytecomp/instruct.cmi bytecomp/bytelibrarian.cmo : \ utils/misc.cmi \ @@ -1675,7 +1632,7 @@ bytecomp/bytelibrarian.cmo : \ utils/load_path.cmi \ bytecomp/emitcode.cmi \ utils/config.cmi \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmi \ bytecomp/bytelink.cmi \ bytecomp/bytelibrarian.cmi @@ -1685,7 +1642,7 @@ bytecomp/bytelibrarian.cmx : \ utils/load_path.cmx \ bytecomp/emitcode.cmx \ utils/config.cmx \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmx \ bytecomp/bytelink.cmx \ bytecomp/bytelibrarian.cmi @@ -1703,7 +1660,7 @@ bytecomp/bytelink.cmo : \ bytecomp/dll.cmi \ utils/consistbl.cmi \ utils/config.cmi \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmi \ utils/ccomp.cmi \ bytecomp/bytesections.cmi \ @@ -1721,7 +1678,7 @@ bytecomp/bytelink.cmx : \ bytecomp/dll.cmx \ utils/consistbl.cmx \ utils/config.cmx \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmx \ utils/ccomp.cmx \ bytecomp/bytesections.cmx \ @@ -1729,12 +1686,12 @@ bytecomp/bytelink.cmx : \ bytecomp/bytelink.cmi : \ bytecomp/symtable.cmi \ utils/misc.cmi \ - bytecomp/cmo_format.cmi + file_formats/cmo_format.cmi bytecomp/bytepackager.cmo : \ typing/typemod.cmi \ - bytecomp/translmod.cmi \ + lambda/translmod.cmi \ typing/subst.cmi \ - bytecomp/printlambda.cmi \ + lambda/printlambda.cmi \ typing/path.cmi \ utils/misc.cmi \ parsing/location.cmi \ @@ -1744,16 +1701,16 @@ bytecomp/bytepackager.cmo : \ typing/env.cmi \ bytecomp/emitcode.cmi \ utils/config.cmi \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmi \ bytecomp/bytelink.cmi \ bytecomp/bytegen.cmi \ bytecomp/bytepackager.cmi bytecomp/bytepackager.cmx : \ typing/typemod.cmx \ - bytecomp/translmod.cmx \ + lambda/translmod.cmx \ typing/subst.cmx \ - bytecomp/printlambda.cmx \ + lambda/printlambda.cmx \ typing/path.cmx \ utils/misc.cmx \ parsing/location.cmx \ @@ -1763,7 +1720,7 @@ bytecomp/bytepackager.cmx : \ typing/env.cmx \ bytecomp/emitcode.cmx \ utils/config.cmx \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmx \ bytecomp/bytelink.cmx \ bytecomp/bytegen.cmx \ @@ -1778,10 +1735,6 @@ bytecomp/bytesections.cmx : \ utils/config.cmx \ bytecomp/bytesections.cmi bytecomp/bytesections.cmi : -bytecomp/cmo_format.cmi : \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi bytecomp/dll.cmo : \ utils/misc.cmi \ utils/config.cmi \ @@ -1792,34 +1745,34 @@ bytecomp/dll.cmx : \ bytecomp/dll.cmi bytecomp/dll.cmi : bytecomp/emitcode.cmo : \ - bytecomp/translmod.cmi \ + lambda/translmod.cmi \ typing/primitive.cmi \ bytecomp/opcodes.cmi \ utils/misc.cmi \ parsing/location.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ bytecomp/instruct.cmi \ typing/ident.cmi \ typing/env.cmi \ utils/config.cmi \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmi \ bytecomp/bytegen.cmi \ typing/btype.cmi \ parsing/asttypes.cmi \ bytecomp/emitcode.cmi bytecomp/emitcode.cmx : \ - bytecomp/translmod.cmx \ + lambda/translmod.cmx \ typing/primitive.cmx \ bytecomp/opcodes.cmx \ utils/misc.cmx \ parsing/location.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ bytecomp/instruct.cmx \ typing/ident.cmx \ typing/env.cmx \ utils/config.cmx \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmx \ bytecomp/bytegen.cmx \ typing/btype.cmx \ @@ -1829,12 +1782,12 @@ bytecomp/emitcode.cmi : \ utils/misc.cmi \ bytecomp/instruct.cmi \ typing/ident.cmi \ - bytecomp/cmo_format.cmi + file_formats/cmo_format.cmi bytecomp/instruct.cmo : \ typing/types.cmi \ typing/subst.cmi \ parsing/location.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ typing/env.cmi \ bytecomp/instruct.cmi @@ -1842,7 +1795,7 @@ bytecomp/instruct.cmx : \ typing/types.cmx \ typing/subst.cmx \ parsing/location.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ typing/ident.cmx \ typing/env.cmx \ bytecomp/instruct.cmi @@ -1850,84 +1803,9 @@ bytecomp/instruct.cmi : \ typing/types.cmi \ typing/subst.cmi \ parsing/location.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ typing/env.cmi -bytecomp/lambda.cmo : \ - typing/types.cmi \ - typing/primitive.cmi \ - typing/path.cmi \ - utils/misc.cmi \ - parsing/longident.cmi \ - parsing/location.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - parsing/asttypes.cmi \ - bytecomp/lambda.cmi -bytecomp/lambda.cmx : \ - typing/types.cmx \ - typing/primitive.cmx \ - typing/path.cmx \ - utils/misc.cmx \ - parsing/longident.cmx \ - parsing/location.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - parsing/asttypes.cmi \ - bytecomp/lambda.cmi -bytecomp/lambda.cmi : \ - typing/types.cmi \ - typing/primitive.cmi \ - typing/path.cmi \ - parsing/location.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - parsing/asttypes.cmi -bytecomp/matching.cmo : \ - typing/types.cmi \ - typing/typeopt.cmi \ - typing/typedtree.cmi \ - bytecomp/switch.cmi \ - typing/printpat.cmi \ - bytecomp/printlambda.cmi \ - typing/primitive.cmi \ - typing/predef.cmi \ - typing/parmatch.cmi \ - utils/misc.cmi \ - parsing/longident.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - utils/clflags.cmi \ - typing/btype.cmi \ - parsing/asttypes.cmi \ - bytecomp/matching.cmi -bytecomp/matching.cmx : \ - typing/types.cmx \ - typing/typeopt.cmx \ - typing/typedtree.cmx \ - bytecomp/switch.cmx \ - typing/printpat.cmx \ - bytecomp/printlambda.cmx \ - typing/primitive.cmx \ - typing/predef.cmx \ - typing/parmatch.cmx \ - utils/misc.cmx \ - parsing/longident.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - utils/clflags.cmx \ - typing/btype.cmx \ - parsing/asttypes.cmi \ - bytecomp/matching.cmi -bytecomp/matching.cmi : \ - typing/typedtree.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi bytecomp/meta.cmo : \ bytecomp/instruct.cmi \ bytecomp/meta.cmi @@ -1942,360 +1820,56 @@ bytecomp/opcodes.cmx : \ bytecomp/opcodes.cmi bytecomp/opcodes.cmi : bytecomp/printinstr.cmo : \ - bytecomp/printlambda.cmi \ + lambda/printlambda.cmi \ parsing/location.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ bytecomp/instruct.cmi \ typing/ident.cmi \ bytecomp/printinstr.cmi bytecomp/printinstr.cmx : \ - bytecomp/printlambda.cmx \ + lambda/printlambda.cmx \ parsing/location.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ bytecomp/instruct.cmx \ typing/ident.cmx \ bytecomp/printinstr.cmi bytecomp/printinstr.cmi : \ bytecomp/instruct.cmi -bytecomp/printlambda.cmo : \ - typing/types.cmi \ - typing/printtyp.cmi \ - typing/primitive.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - parsing/asttypes.cmi \ - bytecomp/printlambda.cmi -bytecomp/printlambda.cmx : \ - typing/types.cmx \ - typing/printtyp.cmx \ - typing/primitive.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - parsing/asttypes.cmi \ - bytecomp/printlambda.cmi -bytecomp/printlambda.cmi : \ - typing/types.cmi \ - bytecomp/lambda.cmi -bytecomp/runtimedef.cmo : \ - bytecomp/runtimedef.cmi -bytecomp/runtimedef.cmx : \ - bytecomp/runtimedef.cmi -bytecomp/runtimedef.cmi : -bytecomp/simplif.cmo : \ - utils/warnings.cmi \ - typing/stypes.cmi \ - typing/primitive.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - utils/clflags.cmi \ - parsing/asttypes.cmi \ - typing/annot.cmi \ - bytecomp/simplif.cmi -bytecomp/simplif.cmx : \ - utils/warnings.cmx \ - typing/stypes.cmx \ - typing/primitive.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - utils/clflags.cmx \ - parsing/asttypes.cmi \ - typing/annot.cmi \ - bytecomp/simplif.cmi -bytecomp/simplif.cmi : \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi -bytecomp/switch.cmo : \ - parsing/location.cmi \ - bytecomp/switch.cmi -bytecomp/switch.cmx : \ - parsing/location.cmx \ - bytecomp/switch.cmi -bytecomp/switch.cmi : \ - parsing/location.cmi bytecomp/symtable.cmo : \ - bytecomp/runtimedef.cmi \ + lambda/runtimedef.cmi \ typing/predef.cmi \ utils/misc.cmi \ bytecomp/meta.cmi \ parsing/location.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ bytecomp/dll.cmi \ utils/config.cmi \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmi \ bytecomp/bytesections.cmi \ parsing/asttypes.cmi \ bytecomp/symtable.cmi bytecomp/symtable.cmx : \ - bytecomp/runtimedef.cmx \ + lambda/runtimedef.cmx \ typing/predef.cmx \ utils/misc.cmx \ bytecomp/meta.cmx \ parsing/location.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ typing/ident.cmx \ bytecomp/dll.cmx \ utils/config.cmx \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmx \ bytecomp/bytesections.cmx \ parsing/asttypes.cmi \ bytecomp/symtable.cmi bytecomp/symtable.cmi : \ utils/misc.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ - bytecomp/cmo_format.cmi -bytecomp/translattribute.cmo : \ - utils/warnings.cmi \ - typing/typedtree.cmi \ - parsing/parsetree.cmi \ - utils/misc.cmi \ - parsing/longident.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - utils/config.cmi \ - bytecomp/translattribute.cmi -bytecomp/translattribute.cmx : \ - utils/warnings.cmx \ - typing/typedtree.cmx \ - parsing/parsetree.cmi \ - utils/misc.cmx \ - parsing/longident.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - utils/config.cmx \ - bytecomp/translattribute.cmi -bytecomp/translattribute.cmi : \ - typing/typedtree.cmi \ - parsing/parsetree.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi -bytecomp/translclass.cmo : \ - typing/types.cmi \ - typing/typeopt.cmi \ - typing/typedtree.cmi \ - bytecomp/translobj.cmi \ - bytecomp/translcore.cmi \ - typing/path.cmi \ - bytecomp/matching.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - utils/clflags.cmi \ - typing/btype.cmi \ - parsing/asttypes.cmi \ - bytecomp/translclass.cmi -bytecomp/translclass.cmx : \ - typing/types.cmx \ - typing/typeopt.cmx \ - typing/typedtree.cmx \ - bytecomp/translobj.cmx \ - bytecomp/translcore.cmx \ - typing/path.cmx \ - bytecomp/matching.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - utils/clflags.cmx \ - typing/btype.cmx \ - parsing/asttypes.cmi \ - bytecomp/translclass.cmi -bytecomp/translclass.cmi : \ - typing/typedtree.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - parsing/asttypes.cmi -bytecomp/translcore.cmo : \ - typing/types.cmi \ - typing/typeopt.cmi \ - typing/typedtree.cmi \ - typing/typecore.cmi \ - bytecomp/translprim.cmi \ - bytecomp/translobj.cmi \ - bytecomp/translattribute.cmi \ - typing/printtyp.cmi \ - typing/primitive.cmi \ - typing/predef.cmi \ - typing/path.cmi \ - parsing/parsetree.cmi \ - typing/parmatch.cmi \ - utils/misc.cmi \ - bytecomp/matching.cmi \ - parsing/longident.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - utils/config.cmi \ - utils/clflags.cmi \ - typing/btype.cmi \ - parsing/asttypes.cmi \ - bytecomp/translcore.cmi -bytecomp/translcore.cmx : \ - typing/types.cmx \ - typing/typeopt.cmx \ - typing/typedtree.cmx \ - typing/typecore.cmx \ - bytecomp/translprim.cmx \ - bytecomp/translobj.cmx \ - bytecomp/translattribute.cmx \ - typing/printtyp.cmx \ - typing/primitive.cmx \ - typing/predef.cmx \ - typing/path.cmx \ - parsing/parsetree.cmi \ - typing/parmatch.cmx \ - utils/misc.cmx \ - bytecomp/matching.cmx \ - parsing/longident.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - utils/config.cmx \ - utils/clflags.cmx \ - typing/btype.cmx \ - parsing/asttypes.cmi \ - bytecomp/translcore.cmi -bytecomp/translcore.cmi : \ - typing/typedtree.cmi \ - typing/path.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - parsing/asttypes.cmi -bytecomp/translmod.cmo : \ - typing/types.cmi \ - typing/typedtree.cmi \ - bytecomp/translprim.cmi \ - bytecomp/translobj.cmi \ - bytecomp/translcore.cmi \ - bytecomp/translclass.cmi \ - bytecomp/translattribute.cmi \ - typing/primitive.cmi \ - typing/predef.cmi \ - typing/path.cmi \ - typing/mtype.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - typing/ctype.cmi \ - utils/clflags.cmi \ - parsing/asttypes.cmi \ - bytecomp/translmod.cmi -bytecomp/translmod.cmx : \ - typing/types.cmx \ - typing/typedtree.cmx \ - bytecomp/translprim.cmx \ - bytecomp/translobj.cmx \ - bytecomp/translcore.cmx \ - bytecomp/translclass.cmx \ - bytecomp/translattribute.cmx \ - typing/primitive.cmx \ - typing/predef.cmx \ - typing/path.cmx \ - typing/mtype.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - typing/ctype.cmx \ - utils/clflags.cmx \ - parsing/asttypes.cmi \ - bytecomp/translmod.cmi -bytecomp/translmod.cmi : \ - typing/typedtree.cmi \ - typing/primitive.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi -bytecomp/translobj.cmo : \ - typing/primitive.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - utils/config.cmi \ - utils/clflags.cmi \ - typing/btype.cmi \ - parsing/asttypes.cmi \ - bytecomp/translobj.cmi -bytecomp/translobj.cmx : \ - typing/primitive.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - utils/config.cmx \ - utils/clflags.cmx \ - typing/btype.cmx \ - parsing/asttypes.cmi \ - bytecomp/translobj.cmi -bytecomp/translobj.cmi : \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi -bytecomp/translprim.cmo : \ - typing/types.cmi \ - typing/typeopt.cmi \ - typing/typedtree.cmi \ - typing/primitive.cmi \ - typing/predef.cmi \ - typing/path.cmi \ - utils/misc.cmi \ - bytecomp/matching.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - utils/config.cmi \ - utils/clflags.cmi \ - parsing/asttypes.cmi \ - bytecomp/translprim.cmi -bytecomp/translprim.cmx : \ - typing/types.cmx \ - typing/typeopt.cmx \ - typing/typedtree.cmx \ - typing/primitive.cmx \ - typing/predef.cmx \ - typing/path.cmx \ - utils/misc.cmx \ - bytecomp/matching.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - utils/config.cmx \ - utils/clflags.cmx \ - parsing/asttypes.cmi \ - bytecomp/translprim.cmi -bytecomp/translprim.cmi : \ - typing/types.cmi \ - typing/typedtree.cmi \ - typing/primitive.cmi \ - typing/path.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi + file_formats/cmo_format.cmi asmcomp/CSE.cmo : \ asmcomp/mach.cmi \ asmcomp/CSEgen.cmi \ @@ -2319,21 +1893,21 @@ asmcomp/CSEgen.cmx : \ asmcomp/CSEgen.cmi : \ asmcomp/mach.cmi asmcomp/afl_instrument.cmo : \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ asmcomp/cmm.cmi \ utils/clflags.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi \ asmcomp/afl_instrument.cmi asmcomp/afl_instrument.cmx : \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ asmcomp/cmm.cmx \ utils/clflags.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ asmcomp/afl_instrument.cmi asmcomp/afl_instrument.cmi : \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi asmcomp/arch.cmo : \ utils/config.cmi \ @@ -2342,9 +1916,9 @@ asmcomp/arch.cmx : \ utils/config.cmx \ utils/clflags.cmx asmcomp/asmgen.cmo : \ - asmcomp/un_anf.cmi \ - bytecomp/translmod.cmi \ - middle_end/base_types/symbol.cmi \ + middle_end/flambda/un_anf.cmi \ + lambda/translmod.cmi \ + middle_end/symbol.cmi \ asmcomp/split.cmi \ asmcomp/spill.cmi \ asmcomp/selection.cmi \ @@ -2356,7 +1930,7 @@ asmcomp/asmgen.cmo : \ asmcomp/printmach.cmi \ asmcomp/printlinear.cmi \ asmcomp/printcmm.cmi \ - asmcomp/printclambda.cmi \ + middle_end/printclambda.cmi \ typing/primitive.cmi \ typing/path.cmi \ utils/misc.cmi \ @@ -2364,34 +1938,34 @@ asmcomp/asmgen.cmo : \ parsing/location.cmi \ asmcomp/liveness.cmi \ asmcomp/linscan.cmi \ - middle_end/base_types/linkage_name.cmi \ + middle_end/linkage_name.cmi \ asmcomp/linearize.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ asmcomp/interval.cmi \ asmcomp/interf.cmi \ typing/ident.cmi \ - asmcomp/flambda_to_clambda.cmi \ - middle_end/flambda.cmi \ + middle_end/flambda/flambda_to_clambda.cmi \ + middle_end/flambda/flambda.cmi \ asmcomp/emitaux.cmi \ asmcomp/emit.cmi \ asmcomp/deadcode.cmi \ utils/config.cmi \ - asmcomp/compilenv.cmi \ + middle_end/compilenv.cmi \ asmcomp/comballoc.cmi \ asmcomp/coloring.cmi \ asmcomp/cmmgen.cmi \ asmcomp/cmm.cmi \ - asmcomp/closure.cmi \ + middle_end/closure/closure.cmi \ utils/clflags.cmi \ - asmcomp/clambda.cmi \ + middle_end/clambda.cmi \ asmcomp/CSE.cmo \ - asmcomp/build_export_info.cmi \ + middle_end/flambda/build_export_info.cmi \ asmcomp/debug/available_regs.cmi \ asmcomp/asmgen.cmi asmcomp/asmgen.cmx : \ - asmcomp/un_anf.cmx \ - bytecomp/translmod.cmx \ - middle_end/base_types/symbol.cmx \ + middle_end/flambda/un_anf.cmx \ + lambda/translmod.cmx \ + middle_end/symbol.cmx \ asmcomp/split.cmx \ asmcomp/spill.cmx \ asmcomp/selection.cmx \ @@ -2403,7 +1977,7 @@ asmcomp/asmgen.cmx : \ asmcomp/printmach.cmx \ asmcomp/printlinear.cmx \ asmcomp/printcmm.cmx \ - asmcomp/printclambda.cmx \ + middle_end/printclambda.cmx \ typing/primitive.cmx \ typing/path.cmx \ utils/misc.cmx \ @@ -2411,46 +1985,46 @@ asmcomp/asmgen.cmx : \ parsing/location.cmx \ asmcomp/liveness.cmx \ asmcomp/linscan.cmx \ - middle_end/base_types/linkage_name.cmx \ + middle_end/linkage_name.cmx \ asmcomp/linearize.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ asmcomp/interval.cmx \ asmcomp/interf.cmx \ typing/ident.cmx \ - asmcomp/flambda_to_clambda.cmx \ - middle_end/flambda.cmx \ + middle_end/flambda/flambda_to_clambda.cmx \ + middle_end/flambda/flambda.cmx \ asmcomp/emitaux.cmx \ asmcomp/emit.cmx \ asmcomp/deadcode.cmx \ utils/config.cmx \ - asmcomp/compilenv.cmx \ + middle_end/compilenv.cmx \ asmcomp/comballoc.cmx \ asmcomp/coloring.cmx \ asmcomp/cmmgen.cmx \ asmcomp/cmm.cmx \ - asmcomp/closure.cmx \ + middle_end/closure/closure.cmx \ utils/clflags.cmx \ - asmcomp/clambda.cmx \ + middle_end/clambda.cmx \ asmcomp/CSE.cmx \ - asmcomp/build_export_info.cmx \ + middle_end/flambda/build_export_info.cmx \ asmcomp/debug/available_regs.cmx \ asmcomp/asmgen.cmi asmcomp/asmgen.cmi : \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ - middle_end/flambda.cmi \ + middle_end/flambda/flambda.cmi \ asmcomp/cmm.cmi \ middle_end/backend_intf.cmi asmcomp/asmlibrarian.cmo : \ utils/misc.cmi \ parsing/location.cmi \ utils/load_path.cmi \ - asmcomp/export_info.cmi \ + middle_end/flambda/export_info.cmi \ utils/config.cmi \ - asmcomp/compilenv.cmi \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmi \ + file_formats/cmx_format.cmi \ utils/clflags.cmi \ - asmcomp/clambda.cmi \ + middle_end/clambda.cmi \ utils/ccomp.cmi \ asmcomp/asmlink.cmi \ asmcomp/asmlibrarian.cmi @@ -2458,18 +2032,18 @@ asmcomp/asmlibrarian.cmx : \ utils/misc.cmx \ parsing/location.cmx \ utils/load_path.cmx \ - asmcomp/export_info.cmx \ + middle_end/flambda/export_info.cmx \ utils/config.cmx \ - asmcomp/compilenv.cmx \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmx \ + file_formats/cmx_format.cmi \ utils/clflags.cmx \ - asmcomp/clambda.cmx \ + middle_end/clambda.cmx \ utils/ccomp.cmx \ asmcomp/asmlink.cmx \ asmcomp/asmlibrarian.cmi asmcomp/asmlibrarian.cmi : asmcomp/asmlink.cmo : \ - bytecomp/runtimedef.cmi \ + lambda/runtimedef.cmi \ utils/profile.cmi \ utils/misc.cmi \ parsing/location.cmi \ @@ -2478,8 +2052,8 @@ asmcomp/asmlink.cmo : \ asmcomp/emit.cmi \ utils/consistbl.cmi \ utils/config.cmi \ - asmcomp/compilenv.cmi \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmi \ + file_formats/cmx_format.cmi \ asmcomp/cmmgen.cmi \ asmcomp/cmm.cmi \ utils/clflags.cmi \ @@ -2487,7 +2061,7 @@ asmcomp/asmlink.cmo : \ asmcomp/asmgen.cmi \ asmcomp/asmlink.cmi asmcomp/asmlink.cmx : \ - bytecomp/runtimedef.cmx \ + lambda/runtimedef.cmx \ utils/profile.cmx \ utils/misc.cmx \ parsing/location.cmx \ @@ -2496,8 +2070,8 @@ asmcomp/asmlink.cmx : \ asmcomp/emit.cmx \ utils/consistbl.cmx \ utils/config.cmx \ - asmcomp/compilenv.cmx \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmx \ + file_formats/cmx_format.cmi \ asmcomp/cmmgen.cmx \ asmcomp/cmm.cmx \ utils/clflags.cmx \ @@ -2506,24 +2080,24 @@ asmcomp/asmlink.cmx : \ asmcomp/asmlink.cmi asmcomp/asmlink.cmi : \ utils/misc.cmi \ - asmcomp/cmx_format.cmi + file_formats/cmx_format.cmi asmcomp/asmpackager.cmo : \ typing/typemod.cmi \ - bytecomp/translmod.cmi \ + lambda/translmod.cmi \ utils/profile.cmi \ utils/misc.cmi \ - middle_end/middle_end.cmi \ parsing/location.cmi \ utils/load_path.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ - asmcomp/export_info_for_pack.cmi \ - asmcomp/export_info.cmi \ + middle_end/flambda/flambda_middle_end.cmi \ + middle_end/flambda/export_info_for_pack.cmi \ + middle_end/flambda/export_info.cmi \ typing/env.cmi \ utils/config.cmi \ - asmcomp/compilenv.cmi \ - middle_end/base_types/compilation_unit.cmi \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmi \ + middle_end/compilation_unit.cmi \ + file_formats/cmx_format.cmi \ utils/clflags.cmi \ utils/ccomp.cmi \ asmcomp/asmlink.cmi \ @@ -2531,21 +2105,21 @@ asmcomp/asmpackager.cmo : \ asmcomp/asmpackager.cmi asmcomp/asmpackager.cmx : \ typing/typemod.cmx \ - bytecomp/translmod.cmx \ + lambda/translmod.cmx \ utils/profile.cmx \ utils/misc.cmx \ - middle_end/middle_end.cmx \ parsing/location.cmx \ utils/load_path.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ typing/ident.cmx \ - asmcomp/export_info_for_pack.cmx \ - asmcomp/export_info.cmx \ + middle_end/flambda/flambda_middle_end.cmx \ + middle_end/flambda/export_info_for_pack.cmx \ + middle_end/flambda/export_info.cmx \ typing/env.cmx \ utils/config.cmx \ - asmcomp/compilenv.cmx \ - middle_end/base_types/compilation_unit.cmx \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmx \ + middle_end/compilation_unit.cmx \ + file_formats/cmx_format.cmi \ utils/clflags.cmx \ utils/ccomp.cmx \ asmcomp/asmlink.cmx \ @@ -2554,20 +2128,6 @@ asmcomp/asmpackager.cmx : \ asmcomp/asmpackager.cmi : \ typing/env.cmi \ middle_end/backend_intf.cmi -asmcomp/backend_var.cmo : \ - typing/path.cmi \ - typing/ident.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/backend_var.cmi -asmcomp/backend_var.cmx : \ - typing/path.cmx \ - typing/ident.cmx \ - middle_end/debuginfo.cmx \ - asmcomp/backend_var.cmi -asmcomp/backend_var.cmi : \ - typing/path.cmi \ - typing/ident.cmi \ - middle_end/debuginfo.cmi asmcomp/branch_relaxation.cmo : \ utils/misc.cmi \ asmcomp/mach.cmi \ @@ -2593,268 +2153,100 @@ asmcomp/branch_relaxation_intf.cmx : \ asmcomp/linearize.cmx \ asmcomp/cmm.cmx \ asmcomp/arch.cmx -asmcomp/build_export_info.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - asmcomp/traverse_for_exported_symbols.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - utils/misc.cmi \ - middle_end/invariant_params.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/find_recursive_functions.cmi \ - asmcomp/export_info.cmi \ - middle_end/base_types/export_id.cmi \ - asmcomp/compilenv.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - middle_end/backend_intf.cmi \ - middle_end/allocated_const.cmi \ - asmcomp/build_export_info.cmi -asmcomp/build_export_info.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - asmcomp/traverse_for_exported_symbols.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - utils/misc.cmx \ - middle_end/invariant_params.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/find_recursive_functions.cmx \ - asmcomp/export_info.cmx \ - middle_end/base_types/export_id.cmx \ - asmcomp/compilenv.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - middle_end/backend_intf.cmi \ - middle_end/allocated_const.cmx \ - asmcomp/build_export_info.cmi -asmcomp/build_export_info.cmi : \ - middle_end/flambda.cmi \ - asmcomp/export_info.cmi \ - middle_end/backend_intf.cmi -asmcomp/clambda.cmo : \ - typing/path.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/clambda_primitives.cmi \ - asmcomp/backend_var.cmi \ - parsing/asttypes.cmi \ - asmcomp/clambda.cmi -asmcomp/clambda.cmx : \ - typing/path.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - middle_end/debuginfo.cmx \ - asmcomp/clambda_primitives.cmx \ - asmcomp/backend_var.cmx \ - parsing/asttypes.cmi \ - asmcomp/clambda.cmi -asmcomp/clambda.cmi : \ - typing/path.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/clambda_primitives.cmi \ - asmcomp/backend_var.cmi \ - parsing/asttypes.cmi -asmcomp/clambda_primitives.cmo : \ - typing/types.cmi \ - typing/primitive.cmi \ - bytecomp/lambda.cmi \ - parsing/asttypes.cmi \ - asmcomp/clambda_primitives.cmi -asmcomp/clambda_primitives.cmx : \ - typing/types.cmx \ - typing/primitive.cmx \ - bytecomp/lambda.cmx \ - parsing/asttypes.cmi \ - asmcomp/clambda_primitives.cmi -asmcomp/clambda_primitives.cmi : \ - typing/types.cmi \ - typing/primitive.cmi \ - bytecomp/lambda.cmi \ - parsing/asttypes.cmi -asmcomp/closure.cmo : \ - utils/warnings.cmi \ - bytecomp/switch.cmi \ - bytecomp/simplif.cmi \ - asmcomp/semantics_of_primitives.cmi \ - typing/primitive.cmi \ - utils/numbers.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - typing/env.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/convert_primitives.cmi \ - utils/config.cmi \ - asmcomp/compilenv.cmi \ - utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ - asmcomp/clambda.cmi \ - asmcomp/backend_var.cmi \ - parsing/asttypes.cmi \ - asmcomp/arch.cmo \ - asmcomp/closure.cmi -asmcomp/closure.cmx : \ - utils/warnings.cmx \ - bytecomp/switch.cmx \ - bytecomp/simplif.cmx \ - asmcomp/semantics_of_primitives.cmx \ - typing/primitive.cmx \ - utils/numbers.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - typing/env.cmx \ - middle_end/debuginfo.cmx \ - asmcomp/convert_primitives.cmx \ - utils/config.cmx \ - asmcomp/compilenv.cmx \ - utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - asmcomp/clambda.cmx \ - asmcomp/backend_var.cmx \ - parsing/asttypes.cmi \ - asmcomp/arch.cmx \ - asmcomp/closure.cmi -asmcomp/closure.cmi : \ - bytecomp/lambda.cmi \ - asmcomp/clambda.cmi -asmcomp/closure_offsets.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - utils/misc.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/closure_offsets.cmi -asmcomp/closure_offsets.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - utils/misc.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/closure_id.cmx \ - asmcomp/closure_offsets.cmi -asmcomp/closure_offsets.cmi : \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi asmcomp/cmm.cmo : \ utils/targetint.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/backend_var.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi \ asmcomp/arch.cmo \ asmcomp/cmm.cmi asmcomp/cmm.cmx : \ utils/targetint.cmx \ - bytecomp/lambda.cmx \ - middle_end/debuginfo.cmx \ - asmcomp/backend_var.cmx \ + lambda/lambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ asmcomp/arch.cmx \ asmcomp/cmm.cmi asmcomp/cmm.cmi : \ utils/targetint.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/backend_var.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi asmcomp/cmmgen.cmo : \ - asmcomp/un_anf.cmi \ + middle_end/flambda/un_anf.cmi \ typing/types.cmi \ utils/targetint.cmi \ - bytecomp/switch.cmi \ + lambda/switch.cmi \ asmcomp/strmatch.cmi \ asmcomp/proc.cmi \ - asmcomp/printclambda_primitives.cmi \ + middle_end/printclambda_primitives.cmi \ typing/primitive.cmi \ utils/numbers.cmi \ utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ utils/config.cmi \ - asmcomp/compilenv.cmi \ - asmcomp/cmxs_format.cmi \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmi \ + file_formats/cmxs_format.cmi \ + file_formats/cmx_format.cmi \ asmcomp/cmmgen_state.cmi \ asmcomp/cmm.cmi \ utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ - asmcomp/clambda.cmi \ - asmcomp/backend_var.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/clambda.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi \ asmcomp/arch.cmo \ asmcomp/afl_instrument.cmi \ asmcomp/cmmgen.cmi asmcomp/cmmgen.cmx : \ - asmcomp/un_anf.cmx \ + middle_end/flambda/un_anf.cmx \ typing/types.cmx \ utils/targetint.cmx \ - bytecomp/switch.cmx \ + lambda/switch.cmx \ asmcomp/strmatch.cmx \ asmcomp/proc.cmx \ - asmcomp/printclambda_primitives.cmx \ + middle_end/printclambda_primitives.cmx \ typing/primitive.cmx \ utils/numbers.cmx \ utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/debuginfo.cmx \ + lambda/lambda.cmx \ + lambda/debuginfo.cmx \ utils/config.cmx \ - asmcomp/compilenv.cmx \ - asmcomp/cmxs_format.cmi \ - asmcomp/cmx_format.cmi \ + middle_end/compilenv.cmx \ + file_formats/cmxs_format.cmi \ + file_formats/cmx_format.cmi \ asmcomp/cmmgen_state.cmx \ asmcomp/cmm.cmx \ utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - asmcomp/clambda.cmx \ - asmcomp/backend_var.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/clambda.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ asmcomp/arch.cmx \ asmcomp/afl_instrument.cmx \ asmcomp/cmmgen.cmi asmcomp/cmmgen.cmi : \ - asmcomp/cmx_format.cmi \ + file_formats/cmx_format.cmi \ asmcomp/cmm.cmi \ - asmcomp/clambda.cmi + middle_end/clambda.cmi asmcomp/cmmgen_state.cmo : \ utils/misc.cmi \ asmcomp/cmm.cmi \ - asmcomp/clambda.cmi \ + middle_end/clambda.cmi \ asmcomp/cmmgen_state.cmi asmcomp/cmmgen_state.cmx : \ utils/misc.cmx \ asmcomp/cmm.cmx \ - asmcomp/clambda.cmx \ + middle_end/clambda.cmx \ asmcomp/cmmgen_state.cmi asmcomp/cmmgen_state.cmi : \ utils/misc.cmi \ asmcomp/cmm.cmi \ - asmcomp/clambda.cmi -asmcomp/cmx_format.cmi : \ - utils/misc.cmi \ - asmcomp/export_info.cmi \ - asmcomp/clambda.cmi -asmcomp/cmxs_format.cmi : \ - utils/misc.cmi + middle_end/clambda.cmi asmcomp/coloring.cmo : \ asmcomp/reg.cmi \ asmcomp/proc.cmi \ @@ -2878,72 +2270,6 @@ asmcomp/comballoc.cmx : \ asmcomp/comballoc.cmi asmcomp/comballoc.cmi : \ asmcomp/mach.cmi -asmcomp/compilenv.cmo : \ - utils/warnings.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - typing/path.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - utils/load_path.cmi \ - middle_end/base_types/linkage_name.cmi \ - typing/ident.cmi \ - asmcomp/export_info.cmi \ - typing/env.cmi \ - utils/config.cmi \ - middle_end/base_types/compilation_unit.cmi \ - asmcomp/cmx_format.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - asmcomp/clambda.cmi \ - asmcomp/compilenv.cmi -asmcomp/compilenv.cmx : \ - utils/warnings.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - typing/path.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - utils/load_path.cmx \ - middle_end/base_types/linkage_name.cmx \ - typing/ident.cmx \ - asmcomp/export_info.cmx \ - typing/env.cmx \ - utils/config.cmx \ - middle_end/base_types/compilation_unit.cmx \ - asmcomp/cmx_format.cmi \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - asmcomp/clambda.cmx \ - asmcomp/compilenv.cmi -asmcomp/compilenv.cmi : \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/base_types/linkage_name.cmi \ - typing/ident.cmi \ - asmcomp/export_info.cmi \ - middle_end/base_types/compilation_unit.cmi \ - asmcomp/cmx_format.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/clambda.cmi -asmcomp/convert_primitives.cmo : \ - bytecomp/printlambda.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - asmcomp/clambda_primitives.cmi \ - asmcomp/convert_primitives.cmi -asmcomp/convert_primitives.cmx : \ - bytecomp/printlambda.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - asmcomp/clambda_primitives.cmx \ - asmcomp/convert_primitives.cmi -asmcomp/convert_primitives.cmi : \ - bytecomp/lambda.cmi \ - asmcomp/clambda_primitives.cmi asmcomp/deadcode.cmo : \ asmcomp/reg.cmi \ asmcomp/proc.cmi \ @@ -2970,9 +2296,9 @@ asmcomp/emit.cmo : \ asmcomp/mach.cmi \ asmcomp/linearize.cmi \ asmcomp/emitaux.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ utils/config.cmi \ - asmcomp/compilenv.cmi \ + middle_end/compilenv.cmi \ asmcomp/cmm.cmi \ utils/clflags.cmi \ asmcomp/branch_relaxation.cmi \ @@ -2990,9 +2316,9 @@ asmcomp/emit.cmx : \ asmcomp/mach.cmx \ asmcomp/linearize.cmx \ asmcomp/emitaux.cmx \ - middle_end/debuginfo.cmx \ + lambda/debuginfo.cmx \ utils/config.cmx \ - asmcomp/compilenv.cmx \ + middle_end/compilenv.cmx \ asmcomp/cmm.cmx \ utils/clflags.cmx \ asmcomp/branch_relaxation.cmx \ @@ -3002,185 +2328,21 @@ asmcomp/emit.cmi : \ asmcomp/linearize.cmi \ asmcomp/cmm.cmi asmcomp/emitaux.cmo : \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ utils/config.cmi \ asmcomp/cmm.cmi \ utils/clflags.cmi \ asmcomp/arch.cmo \ asmcomp/emitaux.cmi asmcomp/emitaux.cmx : \ - middle_end/debuginfo.cmx \ + lambda/debuginfo.cmx \ utils/config.cmx \ asmcomp/cmm.cmx \ utils/clflags.cmx \ asmcomp/arch.cmx \ asmcomp/emitaux.cmi asmcomp/emitaux.cmi : \ - middle_end/debuginfo.cmi -asmcomp/export_info.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/export_id.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/export_info.cmi -asmcomp/export_info.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/export_id.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ - asmcomp/export_info.cmi -asmcomp/export_info.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/export_id.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi -asmcomp/export_info_for_pack.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - utils/misc.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - asmcomp/export_info.cmi \ - middle_end/base_types/export_id.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/export_info_for_pack.cmi -asmcomp/export_info_for_pack.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_origin.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - utils/misc.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - asmcomp/export_info.cmx \ - middle_end/base_types/export_id.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ - asmcomp/export_info_for_pack.cmi -asmcomp/export_info_for_pack.cmi : \ - asmcomp/export_info.cmi \ - middle_end/base_types/compilation_unit.cmi -asmcomp/flambda_to_clambda.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - typing/primitive.cmi \ - middle_end/parameter.cmi \ - utils/numbers.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - middle_end/base_types/linkage_name.cmi \ - bytecomp/lambda.cmi \ - middle_end/initialize_symbol_to_let_symbol.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - asmcomp/export_info.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/compilenv.cmi \ - asmcomp/closure_offsets.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - asmcomp/clambda.cmi \ - asmcomp/backend_var.cmi \ - middle_end/allocated_const.cmi \ - asmcomp/flambda_to_clambda.cmi -asmcomp/flambda_to_clambda.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - typing/primitive.cmx \ - middle_end/parameter.cmx \ - utils/numbers.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - middle_end/base_types/linkage_name.cmx \ - bytecomp/lambda.cmx \ - middle_end/initialize_symbol_to_let_symbol.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - asmcomp/export_info.cmx \ - middle_end/debuginfo.cmx \ - asmcomp/compilenv.cmx \ - asmcomp/closure_offsets.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - asmcomp/clambda.cmx \ - asmcomp/backend_var.cmx \ - middle_end/allocated_const.cmx \ - asmcomp/flambda_to_clambda.cmi -asmcomp/flambda_to_clambda.cmi : \ - middle_end/base_types/symbol.cmi \ - middle_end/flambda.cmi \ - asmcomp/export_info.cmi \ - asmcomp/clambda.cmi -asmcomp/import_approx.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - utils/misc.cmi \ - middle_end/freshening.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - asmcomp/export_info.cmi \ - middle_end/base_types/export_id.cmi \ - asmcomp/compilenv.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/import_approx.cmi -asmcomp/import_approx.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - utils/misc.cmx \ - middle_end/freshening.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - asmcomp/export_info.cmx \ - middle_end/base_types/export_id.cmx \ - asmcomp/compilenv.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ - asmcomp/import_approx.cmi -asmcomp/import_approx.cmi : \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi + lambda/debuginfo.cmi asmcomp/interf.cmo : \ asmcomp/reg.cmi \ asmcomp/proc.cmi \ @@ -3213,7 +2375,7 @@ asmcomp/linearize.cmo : \ asmcomp/proc.cmi \ utils/misc.cmi \ asmcomp/mach.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ utils/config.cmi \ asmcomp/cmm.cmi \ asmcomp/linearize.cmi @@ -3222,14 +2384,14 @@ asmcomp/linearize.cmx : \ asmcomp/proc.cmx \ utils/misc.cmx \ asmcomp/mach.cmx \ - middle_end/debuginfo.cmx \ + lambda/debuginfo.cmx \ utils/config.cmx \ asmcomp/cmm.cmx \ asmcomp/linearize.cmi asmcomp/linearize.cmi : \ asmcomp/reg.cmi \ asmcomp/mach.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi asmcomp/linscan.cmo : \ asmcomp/reg.cmi \ @@ -3266,95 +2428,59 @@ asmcomp/mach.cmo : \ asmcomp/debug/reg_with_debug_info.cmi \ asmcomp/debug/reg_availability_set.cmi \ asmcomp/reg.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/arch.cmo \ asmcomp/mach.cmi asmcomp/mach.cmx : \ asmcomp/debug/reg_with_debug_info.cmx \ asmcomp/debug/reg_availability_set.cmx \ asmcomp/reg.cmx \ - middle_end/debuginfo.cmx \ + lambda/debuginfo.cmx \ asmcomp/cmm.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ asmcomp/arch.cmx \ asmcomp/mach.cmi asmcomp/mach.cmi : \ asmcomp/debug/reg_availability_set.cmi \ asmcomp/reg.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/arch.cmo -asmcomp/printclambda.cmo : \ - bytecomp/printlambda.cmi \ - asmcomp/printclambda_primitives.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi \ - asmcomp/clambda.cmi \ - asmcomp/backend_var.cmi \ - parsing/asttypes.cmi \ - asmcomp/printclambda.cmi -asmcomp/printclambda.cmx : \ - bytecomp/printlambda.cmx \ - asmcomp/printclambda_primitives.cmx \ - bytecomp/lambda.cmx \ - typing/ident.cmx \ - asmcomp/clambda.cmx \ - asmcomp/backend_var.cmx \ - parsing/asttypes.cmi \ - asmcomp/printclambda.cmi -asmcomp/printclambda.cmi : \ - asmcomp/clambda.cmi -asmcomp/printclambda_primitives.cmo : \ - bytecomp/printlambda.cmi \ - typing/primitive.cmi \ - bytecomp/lambda.cmi \ - asmcomp/clambda_primitives.cmi \ - parsing/asttypes.cmi \ - asmcomp/printclambda_primitives.cmi -asmcomp/printclambda_primitives.cmx : \ - bytecomp/printlambda.cmx \ - typing/primitive.cmx \ - bytecomp/lambda.cmx \ - asmcomp/clambda_primitives.cmx \ - parsing/asttypes.cmi \ - asmcomp/printclambda_primitives.cmi -asmcomp/printclambda_primitives.cmi : \ - asmcomp/clambda_primitives.cmi asmcomp/printcmm.cmo : \ utils/targetint.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi \ asmcomp/printcmm.cmi asmcomp/printcmm.cmx : \ utils/targetint.cmx \ - bytecomp/lambda.cmx \ - middle_end/debuginfo.cmx \ + lambda/lambda.cmx \ + lambda/debuginfo.cmx \ asmcomp/cmm.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ asmcomp/printcmm.cmi asmcomp/printcmm.cmi : \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi asmcomp/printlinear.cmo : \ asmcomp/printmach.cmi \ asmcomp/printcmm.cmi \ asmcomp/mach.cmi \ asmcomp/linearize.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/printlinear.cmi asmcomp/printlinear.cmx : \ asmcomp/printmach.cmx \ asmcomp/printcmm.cmx \ asmcomp/mach.cmx \ asmcomp/linearize.cmx \ - middle_end/debuginfo.cmx \ + lambda/debuginfo.cmx \ asmcomp/printlinear.cmi asmcomp/printlinear.cmi : \ asmcomp/linearize.cmi @@ -3365,11 +2491,11 @@ asmcomp/printmach.cmo : \ asmcomp/printcmm.cmi \ asmcomp/mach.cmi \ asmcomp/interval.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ utils/config.cmi \ asmcomp/cmm.cmi \ utils/clflags.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/arch.cmo \ asmcomp/printmach.cmi asmcomp/printmach.cmx : \ @@ -3379,11 +2505,11 @@ asmcomp/printmach.cmx : \ asmcomp/printcmm.cmx \ asmcomp/mach.cmx \ asmcomp/interval.cmx \ - middle_end/debuginfo.cmx \ + lambda/debuginfo.cmx \ utils/config.cmx \ asmcomp/cmm.cmx \ utils/clflags.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ asmcomp/arch.cmx \ asmcomp/printmach.cmi asmcomp/printmach.cmi : \ @@ -3412,15 +2538,15 @@ asmcomp/proc.cmi : \ asmcomp/mach.cmi asmcomp/reg.cmo : \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/reg.cmi asmcomp/reg.cmx : \ asmcomp/cmm.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ asmcomp/reg.cmi asmcomp/reg.cmi : \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi + middle_end/backend_var.cmi asmcomp/reload.cmo : \ asmcomp/reloadgen.cmi \ asmcomp/reg.cmi \ @@ -3482,41 +2608,41 @@ asmcomp/scheduling.cmx : \ asmcomp/scheduling.cmi : \ asmcomp/linearize.cmi asmcomp/selectgen.cmo : \ - bytecomp/simplif.cmi \ + lambda/simplif.cmi \ asmcomp/reg.cmi \ asmcomp/proc.cmi \ utils/numbers.cmi \ utils/misc.cmi \ asmcomp/mach.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ utils/config.cmi \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi \ asmcomp/arch.cmo \ asmcomp/selectgen.cmi asmcomp/selectgen.cmx : \ - bytecomp/simplif.cmx \ + lambda/simplif.cmx \ asmcomp/reg.cmx \ asmcomp/proc.cmx \ utils/numbers.cmx \ utils/misc.cmx \ asmcomp/mach.cmx \ - bytecomp/lambda.cmx \ - middle_end/debuginfo.cmx \ + lambda/lambda.cmx \ + lambda/debuginfo.cmx \ utils/config.cmx \ asmcomp/cmm.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ asmcomp/arch.cmx \ asmcomp/selectgen.cmi asmcomp/selectgen.cmi : \ asmcomp/reg.cmi \ asmcomp/mach.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/arch.cmo asmcomp/selection.cmo : \ asmcomp/spacetime_profiling.cmi \ @@ -3541,24 +2667,16 @@ asmcomp/selection.cmx : \ asmcomp/selection.cmi : \ asmcomp/mach.cmi \ asmcomp/cmm.cmi -asmcomp/semantics_of_primitives.cmo : \ - asmcomp/clambda_primitives.cmi \ - asmcomp/semantics_of_primitives.cmi -asmcomp/semantics_of_primitives.cmx : \ - asmcomp/clambda_primitives.cmx \ - asmcomp/semantics_of_primitives.cmi -asmcomp/semantics_of_primitives.cmi : \ - asmcomp/clambda_primitives.cmi asmcomp/spacetime_profiling.cmo : \ asmcomp/selectgen.cmi \ asmcomp/proc.cmi \ utils/misc.cmi \ asmcomp/mach.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ utils/config.cmi \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi \ asmcomp/arch.cmo \ asmcomp/spacetime_profiling.cmi @@ -3567,11 +2685,11 @@ asmcomp/spacetime_profiling.cmx : \ asmcomp/proc.cmx \ utils/misc.cmx \ asmcomp/mach.cmx \ - bytecomp/lambda.cmx \ - middle_end/debuginfo.cmx \ + lambda/lambda.cmx \ + lambda/debuginfo.cmx \ utils/config.cmx \ asmcomp/cmm.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ asmcomp/arch.cmx \ asmcomp/spacetime_profiling.cmi @@ -3609,89 +2727,26 @@ asmcomp/split.cmi : \ asmcomp/mach.cmi asmcomp/strmatch.cmo : \ parsing/location.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ parsing/asttypes.cmi \ asmcomp/arch.cmo \ asmcomp/strmatch.cmi asmcomp/strmatch.cmx : \ parsing/location.cmx \ - bytecomp/lambda.cmx \ - middle_end/debuginfo.cmx \ + lambda/lambda.cmx \ + lambda/debuginfo.cmx \ asmcomp/cmm.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ asmcomp/arch.cmx \ asmcomp/strmatch.cmi asmcomp/strmatch.cmi : \ parsing/location.cmi \ - middle_end/debuginfo.cmi \ + lambda/debuginfo.cmi \ asmcomp/cmm.cmi -asmcomp/traverse_for_exported_symbols.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - utils/misc.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - asmcomp/export_info.cmi \ - middle_end/base_types/export_id.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/traverse_for_exported_symbols.cmi -asmcomp/traverse_for_exported_symbols.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - utils/misc.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - asmcomp/export_info.cmx \ - middle_end/base_types/export_id.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ - asmcomp/traverse_for_exported_symbols.cmi -asmcomp/traverse_for_exported_symbols.cmi : \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/flambda.cmi \ - asmcomp/export_info.cmi \ - middle_end/base_types/export_id.cmi \ - middle_end/base_types/closure_id.cmi -asmcomp/un_anf.cmo : \ - asmcomp/semantics_of_primitives.cmi \ - asmcomp/printclambda.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/debuginfo.cmi \ - utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ - asmcomp/clambda.cmi \ - asmcomp/backend_var.cmi \ - parsing/asttypes.cmi \ - asmcomp/un_anf.cmi -asmcomp/un_anf.cmx : \ - asmcomp/semantics_of_primitives.cmx \ - asmcomp/printclambda.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/debuginfo.cmx \ - utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - asmcomp/clambda.cmx \ - asmcomp/backend_var.cmx \ - parsing/asttypes.cmi \ - asmcomp/un_anf.cmi -asmcomp/un_anf.cmi : \ - asmcomp/clambda.cmi asmcomp/x86_ast.cmi : asmcomp/x86_dsl.cmo : \ asmcomp/x86_proc.cmi \ @@ -3741,1669 +2796,2615 @@ asmcomp/x86_proc.cmx : \ asmcomp/x86_proc.cmi asmcomp/x86_proc.cmi : \ asmcomp/x86_ast.cmi -middle_end/alias_analysis.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda.cmi \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmi \ - middle_end/alias_analysis.cmi -middle_end/alias_analysis.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda.cmx \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmx \ - middle_end/alias_analysis.cmi -middle_end/alias_analysis.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - bytecomp/lambda.cmi \ - middle_end/flambda.cmi \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmi -middle_end/allocated_const.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/allocated_const.cmi -middle_end/allocated_const.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/allocated_const.cmi -middle_end/allocated_const.cmi : -middle_end/augment_specialised_args.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/projection.cmi \ - middle_end/pass_wrapper.cmi \ - middle_end/parameter.cmi \ - utils/misc.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - utils/identifiable.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - middle_end/backend_intf.cmi \ - middle_end/augment_specialised_args.cmi -middle_end/augment_specialised_args.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/projection.cmx \ - middle_end/pass_wrapper.cmx \ - middle_end/parameter.cmx \ - utils/misc.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - utils/identifiable.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - middle_end/backend_intf.cmi \ - middle_end/augment_specialised_args.cmi -middle_end/augment_specialised_args.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/projection.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi middle_end/backend_intf.cmi : \ - middle_end/base_types/symbol.cmi \ - middle_end/simple_value_approx.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ typing/ident.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/closure_conversion.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - bytecomp/simplif.cmi \ - typing/predef.cmi \ - middle_end/parameter.cmi \ - utils/numbers.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - middle_end/lift_code.cmi \ - bytecomp/lambda.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/backend_var.cmo : \ + typing/path.cmi \ typing/ident.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/convert_primitives.cmi \ - utils/config.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/closure_conversion_aux.cmi \ - utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ - middle_end/backend_intf.cmi \ - middle_end/closure_conversion.cmi -middle_end/closure_conversion.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - bytecomp/simplif.cmx \ - typing/predef.cmx \ - middle_end/parameter.cmx \ - utils/numbers.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - middle_end/lift_code.cmx \ - bytecomp/lambda.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ + lambda/debuginfo.cmi \ + middle_end/backend_var.cmi +middle_end/backend_var.cmx : \ + typing/path.cmx \ typing/ident.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - asmcomp/convert_primitives.cmx \ - utils/config.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/closure_conversion_aux.cmx \ - utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - middle_end/backend_intf.cmi \ - middle_end/closure_conversion.cmi -middle_end/closure_conversion.cmi : \ - bytecomp/lambda.cmi \ + lambda/debuginfo.cmx \ + middle_end/backend_var.cmi +middle_end/backend_var.cmi : \ + typing/path.cmi \ typing/ident.cmi \ - middle_end/flambda.cmi \ - middle_end/backend_intf.cmi -middle_end/closure_conversion_aux.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - utils/numbers.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ + lambda/debuginfo.cmi +middle_end/clambda.cmo : \ + typing/path.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ - middle_end/closure_conversion_aux.cmi -middle_end/closure_conversion_aux.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - utils/numbers.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ + lambda/debuginfo.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/backend_var.cmi \ + parsing/asttypes.cmi \ + middle_end/clambda.cmi +middle_end/clambda.cmx : \ + typing/path.cmx \ + lambda/lambda.cmx \ typing/ident.cmx \ - middle_end/closure_conversion_aux.cmi -middle_end/closure_conversion_aux.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/base_types/mutable_variable.cmi \ - parsing/location.cmi \ - bytecomp/lambda.cmi \ - typing/ident.cmi -middle_end/debuginfo.cmo : \ - parsing/location.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/debuginfo.cmi -middle_end/debuginfo.cmx : \ - parsing/location.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/debuginfo.cmi -middle_end/debuginfo.cmi : \ - parsing/location.cmi -middle_end/effect_analysis.cmo : \ - asmcomp/semantics_of_primitives.cmi \ - utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda.cmi \ - asmcomp/clambda_primitives.cmi \ - middle_end/effect_analysis.cmi -middle_end/effect_analysis.cmx : \ - asmcomp/semantics_of_primitives.cmx \ - utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda.cmx \ - asmcomp/clambda_primitives.cmx \ - middle_end/effect_analysis.cmi -middle_end/effect_analysis.cmi : \ - middle_end/flambda.cmi -middle_end/extract_projections.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/projection.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/freshening.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/extract_projections.cmi -middle_end/extract_projections.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/projection.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - middle_end/freshening.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/extract_projections.cmi -middle_end/extract_projections.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/projection.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi -middle_end/find_recursive_functions.cmo : \ - middle_end/base_types/variable.cmi \ - utils/strongly_connected_components.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/backend_intf.cmi \ - middle_end/find_recursive_functions.cmi -middle_end/find_recursive_functions.cmx : \ - middle_end/base_types/variable.cmx \ - utils/strongly_connected_components.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/backend_intf.cmi \ - middle_end/find_recursive_functions.cmi -middle_end/find_recursive_functions.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/flambda.cmi \ - middle_end/backend_intf.cmi -middle_end/flambda.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/projection.cmi \ - bytecomp/printlambda.cmi \ - asmcomp/printclambda_primitives.cmi \ - middle_end/parameter.cmi \ - utils/numbers.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ + lambda/debuginfo.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/backend_var.cmx \ parsing/asttypes.cmi \ - middle_end/allocated_const.cmi \ - middle_end/flambda.cmi -middle_end/flambda.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - middle_end/base_types/set_of_closures_origin.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - middle_end/projection.cmx \ - bytecomp/printlambda.cmx \ - asmcomp/printclambda_primitives.cmx \ - middle_end/parameter.cmx \ - utils/numbers.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmx \ - middle_end/flambda.cmi -middle_end/flambda.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/projection.cmi \ - middle_end/parameter.cmi \ - utils/numbers.cmi \ - middle_end/base_types/mutable_variable.cmi \ - bytecomp/lambda.cmi \ - utils/identifiable.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/clambda_primitives.cmi \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmi -middle_end/flambda_invariants.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/projection.cmi \ - asmcomp/printclambda_primitives.cmi \ - middle_end/parameter.cmi \ - utils/numbers.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/clambda_primitives.cmi \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmi \ - middle_end/flambda_invariants.cmi -middle_end/flambda_invariants.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - middle_end/base_types/set_of_closures_origin.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - middle_end/projection.cmx \ - asmcomp/printclambda_primitives.cmx \ - middle_end/parameter.cmx \ - utils/numbers.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ - asmcomp/clambda_primitives.cmx \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmx \ - middle_end/flambda_invariants.cmi -middle_end/flambda_invariants.cmi : \ - middle_end/flambda.cmi -middle_end/flambda_iterators.cmo : \ - middle_end/base_types/variable.cmi \ - utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda.cmi \ - middle_end/flambda_iterators.cmi -middle_end/flambda_iterators.cmx : \ - middle_end/base_types/variable.cmx \ - utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda.cmx \ - middle_end/flambda_iterators.cmi -middle_end/flambda_iterators.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/flambda.cmi -middle_end/flambda_utils.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - bytecomp/switch.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/projection.cmi \ - middle_end/parameter.cmi \ - utils/numbers.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - asmcomp/clambda_primitives.cmi \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmi \ - middle_end/flambda_utils.cmi -middle_end/flambda_utils.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/symbol.cmx \ - bytecomp/switch.cmx \ - middle_end/base_types/static_exception.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - middle_end/projection.cmx \ - middle_end/parameter.cmx \ - utils/numbers.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - asmcomp/clambda_primitives.cmx \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmx \ - middle_end/flambda_utils.cmi -middle_end/flambda_utils.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - bytecomp/switch.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/projection.cmi \ - middle_end/parameter.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/freshening.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/projection.cmi \ - middle_end/parameter.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/freshening.cmi -middle_end/freshening.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - middle_end/projection.cmx \ - middle_end/parameter.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/freshening.cmi -middle_end/freshening.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/base_types/mutable_variable.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/inconstant_idents.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/parameter.cmi \ - utils/numbers.cmi \ - utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/backend_intf.cmi \ - parsing/asttypes.cmi \ - middle_end/inconstant_idents.cmi -middle_end/inconstant_idents.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - middle_end/parameter.cmx \ - utils/numbers.cmx \ - utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/backend_intf.cmi \ - parsing/asttypes.cmi \ - middle_end/inconstant_idents.cmi -middle_end/inconstant_idents.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/backend_intf.cmi -middle_end/initialize_symbol_to_let_symbol.cmo : \ - middle_end/base_types/variable.cmi \ - utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda.cmi \ - middle_end/initialize_symbol_to_let_symbol.cmi -middle_end/initialize_symbol_to_let_symbol.cmx : \ - middle_end/base_types/variable.cmx \ - utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda.cmx \ - middle_end/initialize_symbol_to_let_symbol.cmi -middle_end/initialize_symbol_to_let_symbol.cmi : \ - middle_end/flambda.cmi -middle_end/inline_and_simplify.cmo : \ - utils/warnings.cmi \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/unbox_specialised_args.cmi \ - middle_end/unbox_free_vars_of_closures.cmi \ - middle_end/unbox_closures.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/simplify_primitives.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/remove_unused_arguments.cmi \ - middle_end/remove_free_vars_equal_to_args.cmi \ - middle_end/projection.cmi \ - typing/predef.cmi \ - middle_end/parameter.cmi \ - utils/misc.cmi \ - parsing/location.cmi \ - middle_end/lift_code.cmi \ - bytecomp/lambda.cmi \ - middle_end/invariant_params.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_stats.cmi \ - middle_end/inlining_decision.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ + middle_end/clambda.cmi +middle_end/clambda.cmi : \ + typing/path.cmi \ + lambda/lambda.cmi \ typing/ident.cmi \ - middle_end/freshening.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/find_recursive_functions.cmi \ - middle_end/effect_analysis.cmi \ - middle_end/debuginfo.cmi \ - utils/config.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ - middle_end/backend_intf.cmi \ - middle_end/allocated_const.cmi \ - middle_end/inline_and_simplify.cmi -middle_end/inline_and_simplify.cmx : \ - utils/warnings.cmx \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/unbox_specialised_args.cmx \ - middle_end/unbox_free_vars_of_closures.cmx \ - middle_end/unbox_closures.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - middle_end/simplify_primitives.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/remove_unused_arguments.cmx \ - middle_end/remove_free_vars_equal_to_args.cmx \ - middle_end/projection.cmx \ - typing/predef.cmx \ - middle_end/parameter.cmx \ - utils/misc.cmx \ - parsing/location.cmx \ - middle_end/lift_code.cmx \ - bytecomp/lambda.cmx \ - middle_end/invariant_params.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_stats.cmx \ - middle_end/inlining_decision.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - typing/ident.cmx \ - middle_end/freshening.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/find_recursive_functions.cmx \ - middle_end/effect_analysis.cmx \ - middle_end/debuginfo.cmx \ - utils/config.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - middle_end/backend_intf.cmi \ - middle_end/allocated_const.cmx \ - middle_end/inline_and_simplify.cmi -middle_end/inline_and_simplify.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi \ - middle_end/backend_intf.cmi -middle_end/inline_and_simplify_aux.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/projection.cmi \ - middle_end/parameter.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_stats.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/freshening.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - middle_end/backend_intf.cmi \ - middle_end/inline_and_simplify_aux.cmi -middle_end/inline_and_simplify_aux.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/static_exception.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/base_types/set_of_closures_origin.cmx \ - middle_end/projection.cmx \ - middle_end/parameter.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_stats.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/freshening.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - middle_end/backend_intf.cmi \ - middle_end/inline_and_simplify_aux.cmi -middle_end/inline_and_simplify_aux.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/static_exception.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/projection.cmi \ - middle_end/base_types/mutable_variable.cmi \ - middle_end/inlining_stats_types.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/freshening.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/backend_intf.cmi -middle_end/inlining_cost.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/projection.cmi \ + lambda/debuginfo.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/backend_var.cmi \ + parsing/asttypes.cmi +middle_end/clambda_primitives.cmo : \ + typing/types.cmi \ typing/primitive.cmi \ - utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ - middle_end/inlining_cost.cmi -middle_end/inlining_cost.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/projection.cmx \ + lambda/lambda.cmi \ + parsing/asttypes.cmi \ + middle_end/clambda_primitives.cmi +middle_end/clambda_primitives.cmx : \ + typing/types.cmx \ typing/primitive.cmx \ - utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - middle_end/inlining_cost.cmi -middle_end/inlining_cost.cmi : \ - middle_end/projection.cmi \ - middle_end/flambda.cmi -middle_end/inlining_decision.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/parameter.cmi \ + lambda/lambda.cmx \ + parsing/asttypes.cmi \ + middle_end/clambda_primitives.cmi +middle_end/clambda_primitives.cmi : \ + typing/types.cmi \ + typing/primitive.cmi \ + lambda/lambda.cmi \ + parsing/asttypes.cmi +middle_end/compilation_unit.cmo : \ utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_transforms.cmi \ - middle_end/inlining_stats_types.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - middle_end/inlining_decision.cmi -middle_end/inlining_decision.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/parameter.cmx \ + middle_end/linkage_name.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + typing/ident.cmi \ + middle_end/compilation_unit.cmi +middle_end/compilation_unit.cmx : \ utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_transforms.cmx \ - middle_end/inlining_stats_types.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - middle_end/inlining_decision.cmi -middle_end/inlining_decision.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/simple_value_approx.cmi \ - bytecomp/lambda.cmi \ - middle_end/inlining_decision_intf.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/inlining_decision_intf.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/inlining_stats.cmo : \ + middle_end/linkage_name.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + typing/ident.cmx \ + middle_end/compilation_unit.cmi +middle_end/compilation_unit.cmi : \ + middle_end/linkage_name.cmi \ + utils/identifiable.cmi \ + typing/ident.cmi +middle_end/compilenv.cmo : \ + utils/warnings.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + typing/path.cmi \ utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_stats_types.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_id.cmi \ + parsing/location.cmi \ + utils/load_path.cmi \ + middle_end/linkage_name.cmi \ + typing/ident.cmi \ + middle_end/flambda/export_info.cmi \ + typing/env.cmi \ + utils/config.cmi \ + middle_end/compilation_unit.cmi \ + file_formats/cmx_format.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ utils/clflags.cmi \ - middle_end/inlining_stats.cmi -middle_end/inlining_stats.cmx : \ + middle_end/clambda.cmi \ + middle_end/compilenv.cmi +middle_end/compilenv.cmx : \ + utils/warnings.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + typing/path.cmx \ utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_stats_types.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/closure_id.cmx \ + parsing/location.cmx \ + utils/load_path.cmx \ + middle_end/linkage_name.cmx \ + typing/ident.cmx \ + middle_end/flambda/export_info.cmx \ + typing/env.cmx \ + utils/config.cmx \ + middle_end/compilation_unit.cmx \ + file_formats/cmx_format.cmi \ + middle_end/flambda/base_types/closure_id.cmx \ utils/clflags.cmx \ - middle_end/inlining_stats.cmi -middle_end/inlining_stats.cmi : \ - middle_end/inlining_stats_types.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/inlining_stats_types.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inlining_stats_types.cmi -middle_end/inlining_stats_types.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/inlining_stats_types.cmi -middle_end/inlining_stats_types.cmi : \ - middle_end/inlining_cost.cmi -middle_end/inlining_transforms.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/projection.cmi \ - middle_end/parameter.cmi \ - bytecomp/lambda.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_decision_intf.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/inlining_transforms.cmi -middle_end/inlining_transforms.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/simple_value_approx.cmx \ - middle_end/projection.cmx \ - middle_end/parameter.cmx \ - bytecomp/lambda.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_decision_intf.cmi \ - middle_end/inlining_cost.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/inlining_transforms.cmi -middle_end/inlining_transforms.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/simple_value_approx.cmi \ - bytecomp/lambda.cmi \ - middle_end/inlining_decision_intf.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/int_replace_polymorphic_compare.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi -middle_end/int_replace_polymorphic_compare.cmx : \ - middle_end/int_replace_polymorphic_compare.cmi -middle_end/int_replace_polymorphic_compare.cmi : + middle_end/clambda.cmx \ + middle_end/compilenv.cmi +middle_end/compilenv.cmi : \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/linkage_name.cmi \ + typing/ident.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/compilation_unit.cmi \ + file_formats/cmx_format.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/clambda.cmi +middle_end/convert_primitives.cmo : \ + lambda/printlambda.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/convert_primitives.cmi +middle_end/convert_primitives.cmx : \ + lambda/printlambda.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/convert_primitives.cmi +middle_end/convert_primitives.cmi : \ + lambda/lambda.cmi \ + middle_end/clambda_primitives.cmi middle_end/internal_variable_names.cmo : \ parsing/location.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ middle_end/internal_variable_names.cmi middle_end/internal_variable_names.cmx : \ parsing/location.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ middle_end/internal_variable_names.cmi middle_end/internal_variable_names.cmi : \ parsing/location.cmi \ - bytecomp/lambda.cmi -middle_end/invariant_params.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/parameter.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - middle_end/backend_intf.cmi \ - middle_end/invariant_params.cmi -middle_end/invariant_params.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/parameter.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - middle_end/backend_intf.cmi \ - middle_end/invariant_params.cmi -middle_end/invariant_params.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/flambda.cmi \ - middle_end/backend_intf.cmi -middle_end/lift_code.cmo : \ - middle_end/base_types/variable.cmi \ - utils/strongly_connected_components.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/lift_code.cmi -middle_end/lift_code.cmx : \ - middle_end/base_types/variable.cmx \ - utils/strongly_connected_components.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/lift_code.cmi -middle_end/lift_code.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/flambda.cmi -middle_end/lift_constants.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - utils/strongly_connected_components.cmi \ - middle_end/simple_value_approx.cmi \ + lambda/lambda.cmi +middle_end/linkage_name.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/linkage_name.cmi +middle_end/linkage_name.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/linkage_name.cmi +middle_end/linkage_name.cmi : \ + utils/identifiable.cmi +middle_end/printclambda.cmo : \ + lambda/printlambda.cmi \ + middle_end/printclambda_primitives.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + middle_end/clambda.cmi \ + middle_end/backend_var.cmi \ + parsing/asttypes.cmi \ + middle_end/printclambda.cmi +middle_end/printclambda.cmx : \ + lambda/printlambda.cmx \ + middle_end/printclambda_primitives.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + middle_end/clambda.cmx \ + middle_end/backend_var.cmx \ + parsing/asttypes.cmi \ + middle_end/printclambda.cmi +middle_end/printclambda.cmi : \ + middle_end/clambda.cmi +middle_end/printclambda_primitives.cmo : \ + lambda/printlambda.cmi \ + typing/primitive.cmi \ + lambda/lambda.cmi \ + middle_end/clambda_primitives.cmi \ + parsing/asttypes.cmi \ + middle_end/printclambda_primitives.cmi +middle_end/printclambda_primitives.cmx : \ + lambda/printlambda.cmx \ + typing/primitive.cmx \ + lambda/lambda.cmx \ + middle_end/clambda_primitives.cmx \ + parsing/asttypes.cmi \ + middle_end/printclambda_primitives.cmi +middle_end/printclambda_primitives.cmi : \ + middle_end/clambda_primitives.cmi +middle_end/semantics_of_primitives.cmo : \ + middle_end/clambda_primitives.cmi \ + middle_end/semantics_of_primitives.cmi +middle_end/semantics_of_primitives.cmx : \ + middle_end/clambda_primitives.cmx \ + middle_end/semantics_of_primitives.cmi +middle_end/semantics_of_primitives.cmi : \ + middle_end/clambda_primitives.cmi +middle_end/symbol.cmo : \ + middle_end/variable.cmi \ + utils/misc.cmi \ + middle_end/linkage_name.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/symbol.cmi +middle_end/symbol.cmx : \ + middle_end/variable.cmx \ + utils/misc.cmx \ + middle_end/linkage_name.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/symbol.cmi +middle_end/symbol.cmi : \ + middle_end/variable.cmi \ + middle_end/linkage_name.cmi \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi +middle_end/variable.cmo : \ utils/misc.cmi \ middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inconstant_idents.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/backend_intf.cmi \ - parsing/asttypes.cmi \ - middle_end/allocated_const.cmi \ - middle_end/alias_analysis.cmi \ - middle_end/lift_constants.cmi -middle_end/lift_constants.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - utils/strongly_connected_components.cmx \ - middle_end/simple_value_approx.cmx \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + typing/ident.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/variable.cmi +middle_end/variable.cmx : \ utils/misc.cmx \ middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inconstant_idents.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_id.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + typing/ident.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/variable.cmi +middle_end/variable.cmi : \ + middle_end/internal_variable_names.cmi \ + utils/identifiable.cmi \ + typing/ident.cmi \ + middle_end/compilation_unit.cmi +lambda/debuginfo.cmo : \ + parsing/location.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + lambda/debuginfo.cmi +lambda/debuginfo.cmx : \ + parsing/location.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + lambda/debuginfo.cmi +lambda/debuginfo.cmi : \ + parsing/location.cmi +lambda/lambda.cmo : \ + typing/types.cmi \ + typing/primitive.cmi \ + typing/path.cmi \ + utils/misc.cmi \ + parsing/longident.cmi \ + parsing/location.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + parsing/asttypes.cmi \ + lambda/lambda.cmi +lambda/lambda.cmx : \ + typing/types.cmx \ + typing/primitive.cmx \ + typing/path.cmx \ + utils/misc.cmx \ + parsing/longident.cmx \ + parsing/location.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + parsing/asttypes.cmi \ + lambda/lambda.cmi +lambda/lambda.cmi : \ + typing/types.cmi \ + typing/primitive.cmi \ + typing/path.cmi \ + parsing/location.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + parsing/asttypes.cmi +lambda/matching.cmo : \ + typing/types.cmi \ + typing/typeopt.cmi \ + typing/typedtree.cmi \ + lambda/switch.cmi \ + typing/printpat.cmi \ + lambda/printlambda.cmi \ + typing/primitive.cmi \ + typing/predef.cmi \ + typing/parmatch.cmi \ + utils/misc.cmi \ + parsing/longident.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + utils/clflags.cmi \ + typing/btype.cmi \ + parsing/asttypes.cmi \ + lambda/matching.cmi +lambda/matching.cmx : \ + typing/types.cmx \ + typing/typeopt.cmx \ + typing/typedtree.cmx \ + lambda/switch.cmx \ + typing/printpat.cmx \ + lambda/printlambda.cmx \ + typing/primitive.cmx \ + typing/predef.cmx \ + typing/parmatch.cmx \ + utils/misc.cmx \ + parsing/longident.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + utils/clflags.cmx \ + typing/btype.cmx \ + parsing/asttypes.cmi \ + lambda/matching.cmi +lambda/matching.cmi : \ + typing/typedtree.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi +lambda/printlambda.cmo : \ + typing/types.cmi \ + typing/printtyp.cmi \ + typing/primitive.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + parsing/asttypes.cmi \ + lambda/printlambda.cmi +lambda/printlambda.cmx : \ + typing/types.cmx \ + typing/printtyp.cmx \ + typing/primitive.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + parsing/asttypes.cmi \ + lambda/printlambda.cmi +lambda/printlambda.cmi : \ + typing/types.cmi \ + lambda/lambda.cmi +lambda/runtimedef.cmo : \ + lambda/runtimedef.cmi +lambda/runtimedef.cmx : \ + lambda/runtimedef.cmi +lambda/runtimedef.cmi : +lambda/simplif.cmo : \ + utils/warnings.cmi \ + typing/stypes.cmi \ + typing/primitive.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + utils/clflags.cmi \ + parsing/asttypes.cmi \ + typing/annot.cmi \ + lambda/simplif.cmi +lambda/simplif.cmx : \ + utils/warnings.cmx \ + typing/stypes.cmx \ + typing/primitive.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + utils/clflags.cmx \ + parsing/asttypes.cmi \ + typing/annot.cmi \ + lambda/simplif.cmi +lambda/simplif.cmi : \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi +lambda/switch.cmo : \ + parsing/location.cmi \ + lambda/switch.cmi +lambda/switch.cmx : \ + parsing/location.cmx \ + lambda/switch.cmi +lambda/switch.cmi : \ + parsing/location.cmi +lambda/translattribute.cmo : \ + utils/warnings.cmi \ + typing/typedtree.cmi \ + parsing/parsetree.cmi \ + utils/misc.cmi \ + parsing/longident.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + utils/config.cmi \ + lambda/translattribute.cmi +lambda/translattribute.cmx : \ + utils/warnings.cmx \ + typing/typedtree.cmx \ + parsing/parsetree.cmi \ + utils/misc.cmx \ + parsing/longident.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + utils/config.cmx \ + lambda/translattribute.cmi +lambda/translattribute.cmi : \ + typing/typedtree.cmi \ + parsing/parsetree.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi +lambda/translclass.cmo : \ + typing/types.cmi \ + typing/typeopt.cmi \ + typing/typedtree.cmi \ + lambda/translobj.cmi \ + lambda/translcore.cmi \ + typing/path.cmi \ + lambda/matching.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + utils/clflags.cmi \ + typing/btype.cmi \ + parsing/asttypes.cmi \ + lambda/translclass.cmi +lambda/translclass.cmx : \ + typing/types.cmx \ + typing/typeopt.cmx \ + typing/typedtree.cmx \ + lambda/translobj.cmx \ + lambda/translcore.cmx \ + typing/path.cmx \ + lambda/matching.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + utils/clflags.cmx \ + typing/btype.cmx \ + parsing/asttypes.cmi \ + lambda/translclass.cmi +lambda/translclass.cmi : \ + typing/typedtree.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + parsing/asttypes.cmi +lambda/translcore.cmo : \ + typing/types.cmi \ + typing/typeopt.cmi \ + typing/typedtree.cmi \ + typing/typecore.cmi \ + lambda/translprim.cmi \ + lambda/translobj.cmi \ + lambda/translattribute.cmi \ + typing/printtyp.cmi \ + typing/primitive.cmi \ + typing/predef.cmi \ + typing/path.cmi \ + parsing/parsetree.cmi \ + typing/parmatch.cmi \ + utils/misc.cmi \ + lambda/matching.cmi \ + parsing/longident.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + utils/config.cmi \ + utils/clflags.cmi \ + typing/btype.cmi \ + parsing/asttypes.cmi \ + lambda/translcore.cmi +lambda/translcore.cmx : \ + typing/types.cmx \ + typing/typeopt.cmx \ + typing/typedtree.cmx \ + typing/typecore.cmx \ + lambda/translprim.cmx \ + lambda/translobj.cmx \ + lambda/translattribute.cmx \ + typing/printtyp.cmx \ + typing/primitive.cmx \ + typing/predef.cmx \ + typing/path.cmx \ + parsing/parsetree.cmi \ + typing/parmatch.cmx \ + utils/misc.cmx \ + lambda/matching.cmx \ + parsing/longident.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + utils/config.cmx \ + utils/clflags.cmx \ + typing/btype.cmx \ + parsing/asttypes.cmi \ + lambda/translcore.cmi +lambda/translcore.cmi : \ + typing/typedtree.cmi \ + typing/path.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + parsing/asttypes.cmi +lambda/translmod.cmo : \ + typing/types.cmi \ + typing/typedtree.cmi \ + lambda/translprim.cmi \ + lambda/translobj.cmi \ + lambda/translcore.cmi \ + lambda/translclass.cmi \ + lambda/translattribute.cmi \ + typing/primitive.cmi \ + typing/predef.cmi \ + typing/path.cmi \ + typing/mtype.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + typing/ctype.cmi \ + utils/clflags.cmi \ + parsing/asttypes.cmi \ + lambda/translmod.cmi +lambda/translmod.cmx : \ + typing/types.cmx \ + typing/typedtree.cmx \ + lambda/translprim.cmx \ + lambda/translobj.cmx \ + lambda/translcore.cmx \ + lambda/translclass.cmx \ + lambda/translattribute.cmx \ + typing/primitive.cmx \ + typing/predef.cmx \ + typing/path.cmx \ + typing/mtype.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + typing/ctype.cmx \ + utils/clflags.cmx \ + parsing/asttypes.cmi \ + lambda/translmod.cmi +lambda/translmod.cmi : \ + typing/typedtree.cmi \ + typing/primitive.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi +lambda/translobj.cmo : \ + typing/primitive.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + utils/config.cmi \ + utils/clflags.cmi \ + typing/btype.cmi \ + parsing/asttypes.cmi \ + lambda/translobj.cmi +lambda/translobj.cmx : \ + typing/primitive.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + utils/config.cmx \ + utils/clflags.cmx \ + typing/btype.cmx \ + parsing/asttypes.cmi \ + lambda/translobj.cmi +lambda/translobj.cmi : \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi +lambda/translprim.cmo : \ + typing/types.cmi \ + typing/typeopt.cmi \ + typing/typedtree.cmi \ + typing/primitive.cmi \ + typing/predef.cmi \ + typing/path.cmi \ + utils/misc.cmi \ + lambda/matching.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + utils/config.cmi \ + utils/clflags.cmi \ + parsing/asttypes.cmi \ + lambda/translprim.cmi +lambda/translprim.cmx : \ + typing/types.cmx \ + typing/typeopt.cmx \ + typing/typedtree.cmx \ + typing/primitive.cmx \ + typing/predef.cmx \ + typing/path.cmx \ + utils/misc.cmx \ + lambda/matching.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + utils/config.cmx \ + utils/clflags.cmx \ + parsing/asttypes.cmi \ + lambda/translprim.cmi +lambda/translprim.cmi : \ + typing/types.cmi \ + typing/typedtree.cmi \ + typing/primitive.cmi \ + typing/path.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi +file_formats/cmi_format.cmo : \ + typing/types.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + utils/config.cmi \ + file_formats/cmi_format.cmi +file_formats/cmi_format.cmx : \ + typing/types.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + utils/config.cmx \ + file_formats/cmi_format.cmi +file_formats/cmi_format.cmi : \ + typing/types.cmi \ + utils/misc.cmi +file_formats/cmo_format.cmi : \ + utils/misc.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi +file_formats/cmt_format.cmo : \ + typing/types.cmi \ + typing/typedtree.cmi \ + typing/tast_mapper.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + utils/load_path.cmi \ + parsing/lexer.cmi \ + typing/env.cmi \ + utils/config.cmi \ + file_formats/cmi_format.cmi \ + utils/clflags.cmi \ + file_formats/cmt_format.cmi +file_formats/cmt_format.cmx : \ + typing/types.cmx \ + typing/typedtree.cmx \ + typing/tast_mapper.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + utils/load_path.cmx \ + parsing/lexer.cmx \ + typing/env.cmx \ + utils/config.cmx \ + file_formats/cmi_format.cmx \ + utils/clflags.cmx \ + file_formats/cmt_format.cmi +file_formats/cmt_format.cmi : \ + typing/types.cmi \ + typing/typedtree.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + typing/env.cmi \ + file_formats/cmi_format.cmi +file_formats/cmx_format.cmi : \ + utils/misc.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/clambda.cmi +file_formats/cmxs_format.cmi : \ + utils/misc.cmi +middle_end/closure/closure.cmo : \ + utils/warnings.cmi \ + lambda/switch.cmi \ + lambda/simplif.cmi \ + middle_end/semantics_of_primitives.cmi \ + typing/primitive.cmi \ + utils/numbers.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + typing/env.cmi \ + lambda/debuginfo.cmi \ + middle_end/convert_primitives.cmi \ + utils/config.cmi \ + middle_end/compilenv.cmi \ + utils/clflags.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/clambda.cmi \ + middle_end/backend_var.cmi \ middle_end/backend_intf.cmi \ parsing/asttypes.cmi \ - middle_end/allocated_const.cmx \ - middle_end/alias_analysis.cmx \ - middle_end/lift_constants.cmi -middle_end/lift_constants.cmi : \ - middle_end/flambda.cmi \ + middle_end/closure/closure.cmi +middle_end/closure/closure.cmx : \ + utils/warnings.cmx \ + lambda/switch.cmx \ + lambda/simplif.cmx \ + middle_end/semantics_of_primitives.cmx \ + typing/primitive.cmx \ + utils/numbers.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + typing/env.cmx \ + lambda/debuginfo.cmx \ + middle_end/convert_primitives.cmx \ + utils/config.cmx \ + middle_end/compilenv.cmx \ + utils/clflags.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/clambda.cmx \ + middle_end/backend_var.cmx \ + middle_end/backend_intf.cmi \ + parsing/asttypes.cmi \ + middle_end/closure/closure.cmi +middle_end/closure/closure.cmi : \ + lambda/lambda.cmi \ + middle_end/clambda.cmi \ middle_end/backend_intf.cmi -middle_end/lift_let_to_initialize_symbol.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ +middle_end/flambda/alias_analysis.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/alias_analysis.cmi +middle_end/flambda/alias_analysis.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/alias_analysis.cmi +middle_end/flambda/alias_analysis.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/flambda.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmi +middle_end/flambda/allocated_const.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/allocated_const.cmi +middle_end/flambda/allocated_const.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/allocated_const.cmi +middle_end/flambda/allocated_const.cmi : +middle_end/flambda/augment_specialised_args.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/pass_wrapper.cmi \ + middle_end/flambda/parameter.cmi \ + utils/misc.cmi \ middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - parsing/asttypes.cmi \ - middle_end/lift_let_to_initialize_symbol.cmi -middle_end/lift_let_to_initialize_symbol.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/backend_intf.cmi \ + middle_end/flambda/augment_specialised_args.cmi +middle_end/flambda/augment_specialised_args.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/pass_wrapper.cmx \ + middle_end/flambda/parameter.cmx \ + utils/misc.cmx \ middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - parsing/asttypes.cmi \ - middle_end/lift_let_to_initialize_symbol.cmi -middle_end/lift_let_to_initialize_symbol.cmi : \ - middle_end/flambda.cmi \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + utils/identifiable.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/backend_intf.cmi \ + middle_end/flambda/augment_specialised_args.cmi +middle_end/flambda/augment_specialised_args.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/build_export_info.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/traverse_for_exported_symbols.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + utils/misc.cmi \ + middle_end/flambda/invariant_params.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/find_recursive_functions.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/compilenv.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/backend_intf.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/build_export_info.cmi +middle_end/flambda/build_export_info.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/traverse_for_exported_symbols.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + utils/misc.cmx \ + middle_end/flambda/invariant_params.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/find_recursive_functions.cmx \ + middle_end/flambda/export_info.cmx \ + middle_end/flambda/base_types/export_id.cmx \ + middle_end/compilenv.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/backend_intf.cmi \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/build_export_info.cmi +middle_end/flambda/build_export_info.cmi : \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/export_info.cmi \ middle_end/backend_intf.cmi -middle_end/middle_end.cmo : \ +middle_end/flambda/closure_conversion.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + lambda/simplif.cmi \ + typing/predef.cmi \ + middle_end/flambda/parameter.cmi \ + utils/numbers.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + middle_end/flambda/lift_code.cmi \ + lambda/lambda.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + typing/ident.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/convert_primitives.cmi \ + utils/config.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/closure_conversion_aux.cmi \ + utils/clflags.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/backend_intf.cmi \ + middle_end/flambda/closure_conversion.cmi +middle_end/flambda/closure_conversion.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + lambda/simplif.cmx \ + typing/predef.cmx \ + middle_end/flambda/parameter.cmx \ + utils/numbers.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + middle_end/flambda/lift_code.cmx \ + lambda/lambda.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + typing/ident.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/convert_primitives.cmx \ + utils/config.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/closure_conversion_aux.cmx \ + utils/clflags.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/backend_intf.cmi \ + middle_end/flambda/closure_conversion.cmi +middle_end/flambda/closure_conversion.cmi : \ + lambda/lambda.cmi \ + typing/ident.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/closure_conversion_aux.cmo : \ + middle_end/variable.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + utils/numbers.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + typing/ident.cmi \ + middle_end/flambda/closure_conversion_aux.cmi +middle_end/flambda/closure_conversion_aux.cmx : \ + middle_end/variable.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + utils/numbers.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + typing/ident.cmx \ + middle_end/flambda/closure_conversion_aux.cmi +middle_end/flambda/closure_conversion_aux.cmi : \ + middle_end/variable.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi +middle_end/flambda/closure_offsets.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + utils/misc.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/closure_offsets.cmi +middle_end/flambda/closure_offsets.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + utils/misc.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/closure_offsets.cmi +middle_end/flambda/closure_offsets.cmi : \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/effect_analysis.cmo : \ + middle_end/semantics_of_primitives.cmi \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/flambda/effect_analysis.cmi +middle_end/flambda/effect_analysis.cmx : \ + middle_end/semantics_of_primitives.cmx \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/flambda/effect_analysis.cmi +middle_end/flambda/effect_analysis.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/export_info.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/export_info.cmi +middle_end/flambda/export_info.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/export_id.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/export_info.cmi +middle_end/flambda/export_info.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/export_info_for_pack.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + utils/misc.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/export_info_for_pack.cmi +middle_end/flambda/export_info_for_pack.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_origin.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + utils/misc.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/export_info.cmx \ + middle_end/flambda/base_types/export_id.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/export_info_for_pack.cmi +middle_end/flambda/export_info_for_pack.cmi : \ + middle_end/flambda/export_info.cmi \ + middle_end/compilation_unit.cmi +middle_end/flambda/extract_projections.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/projection.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/freshening.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/extract_projections.cmi +middle_end/flambda/extract_projections.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/projection.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + middle_end/flambda/freshening.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/extract_projections.cmi +middle_end/flambda/extract_projections.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/find_recursive_functions.cmo : \ + middle_end/variable.cmi \ + utils/strongly_connected_components.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi \ + middle_end/flambda/find_recursive_functions.cmi +middle_end/flambda/find_recursive_functions.cmx : \ + middle_end/variable.cmx \ + utils/strongly_connected_components.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/backend_intf.cmi \ + middle_end/flambda/find_recursive_functions.cmi +middle_end/flambda/find_recursive_functions.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/flambda.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/projection.cmi \ + lambda/printlambda.cmi \ + middle_end/printclambda_primitives.cmi \ + middle_end/flambda/parameter.cmi \ + utils/numbers.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + lambda/debuginfo.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/clambda_primitives.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/flambda.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + middle_end/flambda/base_types/set_of_closures_origin.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + middle_end/flambda/projection.cmx \ + lambda/printlambda.cmx \ + middle_end/printclambda_primitives.cmx \ + middle_end/flambda/parameter.cmx \ + utils/numbers.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + lambda/debuginfo.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/clambda_primitives.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/flambda.cmi +middle_end/flambda/flambda.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/parameter.cmi \ + utils/numbers.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + lambda/lambda.cmi \ + utils/identifiable.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/clambda_primitives.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmi +middle_end/flambda/flambda_invariants.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/printclambda_primitives.cmi \ + middle_end/flambda/parameter.cmi \ + utils/numbers.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/clambda_primitives.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/flambda_invariants.cmi +middle_end/flambda/flambda_invariants.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + middle_end/flambda/base_types/set_of_closures_origin.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/printclambda_primitives.cmx \ + middle_end/flambda/parameter.cmx \ + utils/numbers.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/clambda_primitives.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/flambda_invariants.cmi +middle_end/flambda/flambda_invariants.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/flambda_iterators.cmo : \ + middle_end/variable.cmi \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/flambda_iterators.cmi +middle_end/flambda/flambda_iterators.cmx : \ + middle_end/variable.cmx \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/flambda_iterators.cmi +middle_end/flambda/flambda_iterators.cmi : \ + middle_end/variable.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/flambda_middle_end.cmo : \ utils/warnings.cmi \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/share_constants.cmi \ - middle_end/remove_unused_program_constructs.cmi \ - middle_end/remove_unused_closure_vars.cmi \ - middle_end/ref_to_variables.cmi \ + middle_end/variable.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/share_constants.cmi \ + middle_end/flambda/remove_unused_program_constructs.cmi \ + middle_end/flambda/remove_unused_closure_vars.cmi \ + middle_end/flambda/ref_to_variables.cmi \ utils/profile.cmi \ utils/misc.cmi \ parsing/location.cmi \ - middle_end/lift_let_to_initialize_symbol.cmi \ - middle_end/lift_constants.cmi \ - middle_end/lift_code.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify.cmi \ - middle_end/initialize_symbol_to_let_symbol.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda_invariants.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/closure_conversion.cmi \ + middle_end/flambda/lift_let_to_initialize_symbol.cmi \ + middle_end/flambda/lift_constants.cmi \ + middle_end/flambda/lift_code.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify.cmi \ + middle_end/flambda/initialize_symbol_to_let_symbol.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda_invariants.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/closure_conversion.cmi \ utils/clflags.cmi \ middle_end/backend_intf.cmi \ - middle_end/middle_end.cmi -middle_end/middle_end.cmx : \ + middle_end/flambda/flambda_middle_end.cmi +middle_end/flambda/flambda_middle_end.cmx : \ utils/warnings.cmx \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/share_constants.cmx \ - middle_end/remove_unused_program_constructs.cmx \ - middle_end/remove_unused_closure_vars.cmx \ - middle_end/ref_to_variables.cmx \ + middle_end/variable.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/share_constants.cmx \ + middle_end/flambda/remove_unused_program_constructs.cmx \ + middle_end/flambda/remove_unused_closure_vars.cmx \ + middle_end/flambda/ref_to_variables.cmx \ utils/profile.cmx \ utils/misc.cmx \ parsing/location.cmx \ - middle_end/lift_let_to_initialize_symbol.cmx \ - middle_end/lift_constants.cmx \ - middle_end/lift_code.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/inline_and_simplify.cmx \ - middle_end/initialize_symbol_to_let_symbol.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda_invariants.cmx \ - middle_end/flambda.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/closure_conversion.cmx \ + middle_end/flambda/lift_let_to_initialize_symbol.cmx \ + middle_end/flambda/lift_constants.cmx \ + middle_end/flambda/lift_code.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inline_and_simplify.cmx \ + middle_end/flambda/initialize_symbol_to_let_symbol.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda_invariants.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/closure_conversion.cmx \ utils/clflags.cmx \ middle_end/backend_intf.cmi \ - middle_end/middle_end.cmi -middle_end/middle_end.cmi : \ - bytecomp/lambda.cmi \ + middle_end/flambda/flambda_middle_end.cmi +middle_end/flambda/flambda_middle_end.cmi : \ + lambda/lambda.cmi \ typing/ident.cmi \ - middle_end/flambda.cmi \ + middle_end/flambda/flambda.cmi \ middle_end/backend_intf.cmi -middle_end/parameter.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/parameter.cmi -middle_end/parameter.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/parameter.cmi -middle_end/parameter.cmi : \ - middle_end/base_types/variable.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/pass_wrapper.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/clflags.cmi \ - middle_end/pass_wrapper.cmi -middle_end/pass_wrapper.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/clflags.cmx \ - middle_end/pass_wrapper.cmi -middle_end/pass_wrapper.cmi : -middle_end/projection.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/projection.cmi -middle_end/projection.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/projection.cmi -middle_end/projection.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/ref_to_variables.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/mutable_variable.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - parsing/asttypes.cmi \ - middle_end/ref_to_variables.cmi -middle_end/ref_to_variables.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/mutable_variable.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - parsing/asttypes.cmi \ - middle_end/ref_to_variables.cmi -middle_end/ref_to_variables.cmi : \ - middle_end/flambda.cmi -middle_end/remove_free_vars_equal_to_args.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/pass_wrapper.cmi \ - middle_end/parameter.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/remove_free_vars_equal_to_args.cmi -middle_end/remove_free_vars_equal_to_args.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/pass_wrapper.cmx \ - middle_end/parameter.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/remove_free_vars_equal_to_args.cmi -middle_end/remove_free_vars_equal_to_args.cmi : \ - middle_end/flambda.cmi -middle_end/remove_unused_arguments.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/projection.cmi \ - middle_end/parameter.cmi \ - middle_end/invariant_params.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/find_recursive_functions.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - middle_end/remove_unused_arguments.cmi -middle_end/remove_unused_arguments.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/projection.cmx \ - middle_end/parameter.cmx \ - middle_end/invariant_params.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/find_recursive_functions.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - middle_end/remove_unused_arguments.cmi -middle_end/remove_unused_arguments.cmi : \ - middle_end/flambda.cmi \ - middle_end/backend_intf.cmi -middle_end/remove_unused_closure_vars.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/parameter.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/remove_unused_closure_vars.cmi -middle_end/remove_unused_closure_vars.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/parameter.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/remove_unused_closure_vars.cmi -middle_end/remove_unused_closure_vars.cmi : \ - middle_end/flambda.cmi -middle_end/remove_unused_program_constructs.cmo : \ - middle_end/base_types/symbol.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda.cmi \ - middle_end/effect_analysis.cmi \ - middle_end/remove_unused_program_constructs.cmi -middle_end/remove_unused_program_constructs.cmx : \ - middle_end/base_types/symbol.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda.cmx \ - middle_end/effect_analysis.cmx \ - middle_end/remove_unused_program_constructs.cmi -middle_end/remove_unused_program_constructs.cmi : \ - middle_end/flambda.cmi -middle_end/share_constants.cmo : \ - middle_end/base_types/symbol.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/share_constants.cmi -middle_end/share_constants.cmx : \ - middle_end/base_types/symbol.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/share_constants.cmi -middle_end/share_constants.cmi : \ - middle_end/flambda.cmi -middle_end/simple_value_approx.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/parameter.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/freshening.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/export_id.cmi \ - middle_end/effect_analysis.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/allocated_const.cmi \ - middle_end/simple_value_approx.cmi -middle_end/simple_value_approx.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/base_types/var_within_closure.cmx \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/base_types/set_of_closures_origin.cmx \ - middle_end/base_types/set_of_closures_id.cmx \ - middle_end/parameter.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/freshening.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/export_id.cmx \ - middle_end/effect_analysis.cmx \ - middle_end/debuginfo.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/closure_origin.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/allocated_const.cmx \ - middle_end/simple_value_approx.cmi -middle_end/simple_value_approx.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/var_within_closure.cmi \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/base_types/set_of_closures_origin.cmi \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/parameter.cmi \ - bytecomp/lambda.cmi \ - middle_end/freshening.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/export_id.cmi \ - middle_end/debuginfo.cmi \ - middle_end/base_types/closure_origin.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/simplify_boxed_integer_ops.cmo : \ - middle_end/simplify_common.cmi \ - middle_end/simplify_boxed_integer_ops_intf.cmi \ - middle_end/simple_value_approx.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - asmcomp/clambda_primitives.cmi \ - middle_end/simplify_boxed_integer_ops.cmi -middle_end/simplify_boxed_integer_ops.cmx : \ - middle_end/simplify_common.cmx \ - middle_end/simplify_boxed_integer_ops_intf.cmi \ - middle_end/simple_value_approx.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - asmcomp/clambda_primitives.cmx \ - middle_end/simplify_boxed_integer_ops.cmi -middle_end/simplify_boxed_integer_ops.cmi : \ - middle_end/simplify_boxed_integer_ops_intf.cmi -middle_end/simplify_boxed_integer_ops_intf.cmi : \ - middle_end/simple_value_approx.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/flambda.cmi \ - asmcomp/clambda_primitives.cmi -middle_end/simplify_common.cmo : \ - middle_end/simple_value_approx.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/effect_analysis.cmi \ - middle_end/simplify_common.cmi -middle_end/simplify_common.cmx : \ - middle_end/simple_value_approx.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/effect_analysis.cmx \ - middle_end/simplify_common.cmi -middle_end/simplify_common.cmi : \ - middle_end/simple_value_approx.cmi \ - bytecomp/lambda.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/flambda.cmi -middle_end/simplify_primitives.cmo : \ - middle_end/base_types/tag.cmi \ - middle_end/base_types/symbol.cmi \ - middle_end/simplify_common.cmi \ - middle_end/simplify_boxed_integer_ops.cmi \ - middle_end/simple_value_approx.cmi \ - asmcomp/semantics_of_primitives.cmi \ - utils/misc.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/flambda.cmi \ - utils/clflags.cmi \ - asmcomp/clambda_primitives.cmi \ - parsing/asttypes.cmi \ - middle_end/simplify_primitives.cmi -middle_end/simplify_primitives.cmx : \ - middle_end/base_types/tag.cmx \ - middle_end/base_types/symbol.cmx \ - middle_end/simplify_common.cmx \ - middle_end/simplify_boxed_integer_ops.cmx \ - middle_end/simple_value_approx.cmx \ - asmcomp/semantics_of_primitives.cmx \ - utils/misc.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/flambda.cmx \ - utils/clflags.cmx \ - asmcomp/clambda_primitives.cmx \ - parsing/asttypes.cmi \ - middle_end/simplify_primitives.cmi -middle_end/simplify_primitives.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/simple_value_approx.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/flambda.cmi \ - middle_end/debuginfo.cmi \ - asmcomp/clambda_primitives.cmi -middle_end/unbox_closures.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/base_types/closure_id.cmi \ - utils/clflags.cmi \ - middle_end/augment_specialised_args.cmi \ - middle_end/unbox_closures.cmi -middle_end/unbox_closures.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/base_types/closure_id.cmx \ - utils/clflags.cmx \ - middle_end/augment_specialised_args.cmx \ - middle_end/unbox_closures.cmi -middle_end/unbox_closures.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi -middle_end/unbox_free_vars_of_closures.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/projection.cmi \ - middle_end/pass_wrapper.cmi \ - utils/misc.cmi \ - middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda_utils.cmi \ - middle_end/flambda_iterators.cmi \ - middle_end/flambda.cmi \ - middle_end/extract_projections.cmi \ - utils/clflags.cmi \ - middle_end/unbox_free_vars_of_closures.cmi -middle_end/unbox_free_vars_of_closures.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/projection.cmx \ - middle_end/pass_wrapper.cmx \ - utils/misc.cmx \ - middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inlining_cost.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - middle_end/flambda_utils.cmx \ - middle_end/flambda_iterators.cmx \ - middle_end/flambda.cmx \ - middle_end/extract_projections.cmx \ - utils/clflags.cmx \ - middle_end/unbox_free_vars_of_closures.cmi -middle_end/unbox_free_vars_of_closures.cmi : \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi -middle_end/unbox_specialised_args.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/projection.cmi \ - middle_end/invariant_params.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi \ - middle_end/extract_projections.cmi \ - utils/clflags.cmi \ - middle_end/augment_specialised_args.cmi \ - middle_end/unbox_specialised_args.cmi -middle_end/unbox_specialised_args.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/projection.cmx \ - middle_end/invariant_params.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/inline_and_simplify_aux.cmx \ - middle_end/flambda.cmx \ - middle_end/extract_projections.cmx \ - utils/clflags.cmx \ - middle_end/augment_specialised_args.cmx \ - middle_end/unbox_specialised_args.cmi -middle_end/unbox_specialised_args.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/inlining_cost.cmi \ - middle_end/inline_and_simplify_aux.cmi \ - middle_end/flambda.cmi -middle_end/base_types/closure_element.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/base_types/closure_element.cmi -middle_end/base_types/closure_element.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/base_types/closure_element.cmi -middle_end/base_types/closure_element.cmi : \ - middle_end/base_types/variable.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/closure_id.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/base_types/closure_element.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/base_types/closure_id.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/base_types/closure_element.cmx \ - middle_end/base_types/closure_id.cmi -middle_end/base_types/closure_id.cmi : \ - middle_end/base_types/closure_element.cmi -middle_end/base_types/closure_origin.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/base_types/closure_id.cmi \ - middle_end/base_types/closure_origin.cmi -middle_end/base_types/closure_origin.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/base_types/closure_id.cmx \ - middle_end/base_types/closure_origin.cmi -middle_end/base_types/closure_origin.cmi : \ - utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/closure_id.cmi -middle_end/base_types/compilation_unit.cmo : \ - utils/misc.cmi \ - middle_end/base_types/linkage_name.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - typing/ident.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/compilation_unit.cmx : \ - utils/misc.cmx \ - middle_end/base_types/linkage_name.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - typing/ident.cmx \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/compilation_unit.cmi : \ - middle_end/base_types/linkage_name.cmi \ - utils/identifiable.cmi \ - typing/ident.cmi -middle_end/base_types/export_id.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/id_types.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/export_id.cmi -middle_end/base_types/export_id.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/base_types/id_types.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/export_id.cmi -middle_end/base_types/export_id.cmi : \ - utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/id_types.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/id_types.cmi -middle_end/base_types/id_types.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/base_types/id_types.cmi -middle_end/base_types/id_types.cmi : \ - utils/identifiable.cmi -middle_end/base_types/linkage_name.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/linkage_name.cmi -middle_end/base_types/linkage_name.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/base_types/linkage_name.cmi -middle_end/base_types/linkage_name.cmi : \ - utils/identifiable.cmi -middle_end/base_types/mutable_variable.cmo : \ - middle_end/base_types/variable.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/base_types/mutable_variable.cmi -middle_end/base_types/mutable_variable.cmx : \ - middle_end/base_types/variable.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/base_types/mutable_variable.cmi -middle_end/base_types/mutable_variable.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/internal_variable_names.cmi \ - utils/identifiable.cmi \ - typing/ident.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/set_of_closures_id.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/id_types.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/set_of_closures_id.cmi -middle_end/base_types/set_of_closures_id.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/base_types/id_types.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/set_of_closures_id.cmi -middle_end/base_types/set_of_closures_id.cmi : \ - utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/set_of_closures_origin.cmo : \ - middle_end/base_types/set_of_closures_id.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/base_types/set_of_closures_origin.cmi -middle_end/base_types/set_of_closures_origin.cmx : \ - middle_end/base_types/set_of_closures_id.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/base_types/set_of_closures_origin.cmi -middle_end/base_types/set_of_closures_origin.cmi : \ - middle_end/base_types/set_of_closures_id.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/static_exception.cmo : \ +middle_end/flambda/flambda_to_clambda.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + typing/primitive.cmi \ + middle_end/flambda/parameter.cmi \ utils/numbers.cmi \ - bytecomp/lambda.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/base_types/static_exception.cmi -middle_end/base_types/static_exception.cmx : \ - utils/numbers.cmx \ - bytecomp/lambda.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/base_types/static_exception.cmi -middle_end/base_types/static_exception.cmi : \ - utils/identifiable.cmi -middle_end/base_types/symbol.cmo : \ - middle_end/base_types/variable.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ utils/misc.cmi \ - middle_end/base_types/linkage_name.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/symbol.cmi -middle_end/base_types/symbol.cmx : \ - middle_end/base_types/variable.cmx \ + middle_end/linkage_name.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/initialize_symbol_to_let_symbol.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/export_info.cmi \ + lambda/debuginfo.cmi \ + middle_end/compilenv.cmi \ + middle_end/flambda/closure_offsets.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/clambda.cmi \ + middle_end/backend_var.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/flambda_to_clambda.cmi +middle_end/flambda/flambda_to_clambda.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + typing/primitive.cmx \ + middle_end/flambda/parameter.cmx \ + utils/numbers.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ utils/misc.cmx \ - middle_end/base_types/linkage_name.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ - utils/identifiable.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/symbol.cmi -middle_end/base_types/symbol.cmi : \ - middle_end/base_types/variable.cmi \ - middle_end/base_types/linkage_name.cmi \ + middle_end/linkage_name.cmx \ + lambda/lambda.cmx \ + middle_end/flambda/initialize_symbol_to_let_symbol.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/export_info.cmx \ + lambda/debuginfo.cmx \ + middle_end/compilenv.cmx \ + middle_end/flambda/closure_offsets.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/clambda.cmx \ + middle_end/backend_var.cmx \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/flambda_to_clambda.cmi +middle_end/flambda/flambda_to_clambda.cmi : \ + middle_end/symbol.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/clambda.cmi +middle_end/flambda/flambda_utils.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + lambda/switch.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/parameter.cmi \ + utils/numbers.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/clambda_primitives.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/flambda_utils.cmi +middle_end/flambda/flambda_utils.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/symbol.cmx \ + lambda/switch.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/parameter.cmx \ + utils/numbers.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/clambda_primitives.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/flambda_utils.cmi +middle_end/flambda/flambda_utils.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + lambda/switch.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/parameter.cmi \ + middle_end/internal_variable_names.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/freshening.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/parameter.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ utils/identifiable.cmi \ - middle_end/base_types/compilation_unit.cmi -middle_end/base_types/tag.cmo : \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/freshening.cmi +middle_end/flambda/freshening.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/parameter.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/freshening.cmi +middle_end/flambda/freshening.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/import_approx.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + utils/misc.cmi \ + middle_end/flambda/freshening.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/compilenv.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/import_approx.cmi +middle_end/flambda/import_approx.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + utils/misc.cmx \ + middle_end/flambda/freshening.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/export_info.cmx \ + middle_end/flambda/base_types/export_id.cmx \ + middle_end/compilenv.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/import_approx.cmi +middle_end/flambda/import_approx.cmi : \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi +middle_end/flambda/inconstant_idents.cmo : \ + middle_end/variable.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/parameter.cmi \ utils/numbers.cmi \ utils/misc.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ + utils/int_replace_polymorphic_compare.cmi \ utils/identifiable.cmi \ - middle_end/base_types/tag.cmi -middle_end/base_types/tag.cmx : \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/backend_intf.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/inconstant_idents.cmi +middle_end/flambda/inconstant_idents.cmx : \ + middle_end/variable.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + middle_end/flambda/parameter.cmx \ utils/numbers.cmx \ utils/misc.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ + utils/int_replace_polymorphic_compare.cmx \ utils/identifiable.cmx \ - middle_end/base_types/tag.cmi -middle_end/base_types/tag.cmi : \ - utils/identifiable.cmi -middle_end/base_types/var_within_closure.cmo : \ - middle_end/int_replace_polymorphic_compare.cmi \ - middle_end/base_types/closure_element.cmi \ - middle_end/base_types/var_within_closure.cmi -middle_end/base_types/var_within_closure.cmx : \ - middle_end/int_replace_polymorphic_compare.cmx \ - middle_end/base_types/closure_element.cmx \ - middle_end/base_types/var_within_closure.cmi -middle_end/base_types/var_within_closure.cmi : \ - middle_end/base_types/closure_element.cmi -middle_end/base_types/variable.cmo : \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/backend_intf.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/inconstant_idents.cmi +middle_end/flambda/inconstant_idents.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/initialize_symbol_to_let_symbol.cmo : \ + middle_end/variable.cmi \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/initialize_symbol_to_let_symbol.cmi +middle_end/flambda/initialize_symbol_to_let_symbol.cmx : \ + middle_end/variable.cmx \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/initialize_symbol_to_let_symbol.cmi +middle_end/flambda/initialize_symbol_to_let_symbol.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/inline_and_simplify.cmo : \ + utils/warnings.cmi \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/unbox_specialised_args.cmi \ + middle_end/flambda/unbox_free_vars_of_closures.cmi \ + middle_end/flambda/unbox_closures.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/simplify_primitives.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/remove_unused_arguments.cmi \ + middle_end/flambda/remove_free_vars_equal_to_args.cmi \ + middle_end/flambda/projection.cmi \ + typing/predef.cmi \ + middle_end/flambda/parameter.cmi \ + utils/misc.cmi \ + parsing/location.cmi \ + middle_end/flambda/lift_code.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/invariant_params.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_stats.cmi \ + middle_end/flambda/inlining_decision.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + typing/ident.cmi \ + middle_end/flambda/freshening.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/find_recursive_functions.cmi \ + middle_end/flambda/effect_analysis.cmi \ + lambda/debuginfo.cmi \ + utils/config.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/backend_intf.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/inline_and_simplify.cmi +middle_end/flambda/inline_and_simplify.cmx : \ + utils/warnings.cmx \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/unbox_specialised_args.cmx \ + middle_end/flambda/unbox_free_vars_of_closures.cmx \ + middle_end/flambda/unbox_closures.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + middle_end/flambda/simplify_primitives.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/remove_unused_arguments.cmx \ + middle_end/flambda/remove_free_vars_equal_to_args.cmx \ + middle_end/flambda/projection.cmx \ + typing/predef.cmx \ + middle_end/flambda/parameter.cmx \ + utils/misc.cmx \ + parsing/location.cmx \ + middle_end/flambda/lift_code.cmx \ + lambda/lambda.cmx \ + middle_end/flambda/invariant_params.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_stats.cmx \ + middle_end/flambda/inlining_decision.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + typing/ident.cmx \ + middle_end/flambda/freshening.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/find_recursive_functions.cmx \ + middle_end/flambda/effect_analysis.cmx \ + lambda/debuginfo.cmx \ + utils/config.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/backend_intf.cmi \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/inline_and_simplify.cmi +middle_end/flambda/inline_and_simplify.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/inline_and_simplify_aux.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/parameter.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_stats.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/freshening.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/backend_intf.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi +middle_end/flambda/inline_and_simplify_aux.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/static_exception.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_origin.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/parameter.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_stats.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/freshening.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/backend_intf.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi +middle_end/flambda/inline_and_simplify_aux.cmi : \ + middle_end/variable.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/static_exception.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + middle_end/flambda/inlining_stats_types.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/freshening.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/inlining_cost.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/projection.cmi \ + typing/primitive.cmi \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + utils/clflags.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/flambda/inlining_cost.cmi +middle_end/flambda/inlining_cost.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/projection.cmx \ + typing/primitive.cmx \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + utils/clflags.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/flambda/inlining_cost.cmi +middle_end/flambda/inlining_cost.cmi : \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/inlining_decision.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/parameter.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_transforms.cmi \ + middle_end/flambda/inlining_stats_types.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/flambda/inlining_decision.cmi +middle_end/flambda/inlining_decision.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/parameter.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_transforms.cmx \ + middle_end/flambda/inlining_stats_types.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/flambda/inlining_decision.cmi +middle_end/flambda/inlining_decision.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/inlining_decision_intf.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/inlining_decision_intf.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/inlining_stats.cmo : \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_stats_types.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/flambda/inlining_stats.cmi +middle_end/flambda/inlining_stats.cmx : \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_stats_types.cmx \ + lambda/debuginfo.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/flambda/inlining_stats.cmi +middle_end/flambda/inlining_stats.cmi : \ + middle_end/flambda/inlining_stats_types.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/inlining_stats_types.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inlining_stats_types.cmi +middle_end/flambda/inlining_stats_types.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inlining_stats_types.cmi +middle_end/flambda/inlining_stats_types.cmi : \ + middle_end/flambda/inlining_cost.cmi +middle_end/flambda/inlining_transforms.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/parameter.cmi \ + lambda/lambda.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_decision_intf.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/inlining_transforms.cmi +middle_end/flambda/inlining_transforms.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/parameter.cmx \ + lambda/lambda.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_decision_intf.cmi \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/inlining_transforms.cmi +middle_end/flambda/inlining_transforms.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/inlining_decision_intf.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/invariant_params.cmo : \ + middle_end/variable.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/parameter.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/backend_intf.cmi \ + middle_end/flambda/invariant_params.cmi +middle_end/flambda/invariant_params.cmx : \ + middle_end/variable.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/parameter.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/backend_intf.cmi \ + middle_end/flambda/invariant_params.cmi +middle_end/flambda/invariant_params.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/lift_code.cmo : \ + middle_end/variable.cmi \ + utils/strongly_connected_components.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/lift_code.cmi +middle_end/flambda/lift_code.cmx : \ + middle_end/variable.cmx \ + utils/strongly_connected_components.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/lift_code.cmi +middle_end/flambda/lift_code.cmi : \ + middle_end/variable.cmi \ + middle_end/internal_variable_names.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/lift_constants.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + utils/strongly_connected_components.cmi \ + middle_end/flambda/simple_value_approx.cmi \ utils/misc.cmi \ middle_end/internal_variable_names.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ - utils/identifiable.cmi \ - typing/ident.cmi \ - middle_end/base_types/compilation_unit.cmi \ - middle_end/base_types/variable.cmi -middle_end/base_types/variable.cmx : \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inconstant_idents.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/backend_intf.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/alias_analysis.cmi \ + middle_end/flambda/lift_constants.cmi +middle_end/flambda/lift_constants.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + utils/strongly_connected_components.cmx \ + middle_end/flambda/simple_value_approx.cmx \ utils/misc.cmx \ middle_end/internal_variable_names.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inconstant_idents.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/backend_intf.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/alias_analysis.cmx \ + middle_end/flambda/lift_constants.cmi +middle_end/flambda/lift_constants.cmi : \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/lift_let_to_initialize_symbol.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/lift_let_to_initialize_symbol.cmi +middle_end/flambda/lift_let_to_initialize_symbol.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + lambda/debuginfo.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/lift_let_to_initialize_symbol.cmi +middle_end/flambda/lift_let_to_initialize_symbol.cmi : \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/parameter.cmo : \ + middle_end/variable.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/parameter.cmi +middle_end/flambda/parameter.cmx : \ + middle_end/variable.cmx \ + utils/int_replace_polymorphic_compare.cmx \ utils/identifiable.cmx \ - typing/ident.cmx \ - middle_end/base_types/compilation_unit.cmx \ - middle_end/base_types/variable.cmi -middle_end/base_types/variable.cmi : \ + middle_end/flambda/parameter.cmi +middle_end/flambda/parameter.cmi : \ + middle_end/variable.cmi \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi +middle_end/flambda/pass_wrapper.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + utils/clflags.cmi \ + middle_end/flambda/pass_wrapper.cmi +middle_end/flambda/pass_wrapper.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + utils/clflags.cmx \ + middle_end/flambda/pass_wrapper.cmi +middle_end/flambda/pass_wrapper.cmi : +middle_end/flambda/projection.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/projection.cmi +middle_end/flambda/projection.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/projection.cmi +middle_end/flambda/projection.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/ref_to_variables.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/ref_to_variables.cmi +middle_end/flambda/ref_to_variables.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/ref_to_variables.cmi +middle_end/flambda/ref_to_variables.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/remove_free_vars_equal_to_args.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/pass_wrapper.cmi \ + middle_end/flambda/parameter.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/remove_free_vars_equal_to_args.cmi +middle_end/flambda/remove_free_vars_equal_to_args.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/pass_wrapper.cmx \ + middle_end/flambda/parameter.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/remove_free_vars_equal_to_args.cmi +middle_end/flambda/remove_free_vars_equal_to_args.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/remove_unused_arguments.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/parameter.cmi \ + middle_end/flambda/invariant_params.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/find_recursive_functions.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/flambda/remove_unused_arguments.cmi +middle_end/flambda/remove_unused_arguments.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/parameter.cmx \ + middle_end/flambda/invariant_params.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/find_recursive_functions.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/flambda/remove_unused_arguments.cmi +middle_end/flambda/remove_unused_arguments.cmi : \ + middle_end/flambda/flambda.cmi \ + middle_end/backend_intf.cmi +middle_end/flambda/remove_unused_closure_vars.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/parameter.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/remove_unused_closure_vars.cmi +middle_end/flambda/remove_unused_closure_vars.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/parameter.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/remove_unused_closure_vars.cmi +middle_end/flambda/remove_unused_closure_vars.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/remove_unused_program_constructs.cmo : \ + middle_end/symbol.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/effect_analysis.cmi \ + middle_end/flambda/remove_unused_program_constructs.cmi +middle_end/flambda/remove_unused_program_constructs.cmx : \ + middle_end/symbol.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/effect_analysis.cmx \ + middle_end/flambda/remove_unused_program_constructs.cmi +middle_end/flambda/remove_unused_program_constructs.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/share_constants.cmo : \ + middle_end/symbol.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/share_constants.cmi +middle_end/flambda/share_constants.cmx : \ + middle_end/symbol.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/share_constants.cmi +middle_end/flambda/share_constants.cmi : \ + middle_end/flambda/flambda.cmi +middle_end/flambda/simple_value_approx.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/parameter.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/freshening.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/flambda/effect_analysis.cmi \ + lambda/debuginfo.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/allocated_const.cmi \ + middle_end/flambda/simple_value_approx.cmi +middle_end/flambda/simple_value_approx.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/base_types/set_of_closures_origin.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + middle_end/flambda/parameter.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/freshening.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/export_id.cmx \ + middle_end/flambda/effect_analysis.cmx \ + lambda/debuginfo.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_origin.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/allocated_const.cmx \ + middle_end/flambda/simple_value_approx.cmi +middle_end/flambda/simple_value_approx.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/parameter.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/freshening.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + lambda/debuginfo.cmi \ + middle_end/flambda/base_types/closure_origin.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/simplify_boxed_integer_ops.cmo : \ + middle_end/flambda/simplify_common.cmi \ + middle_end/flambda/simplify_boxed_integer_ops_intf.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/flambda/simplify_boxed_integer_ops.cmi +middle_end/flambda/simplify_boxed_integer_ops.cmx : \ + middle_end/flambda/simplify_common.cmx \ + middle_end/flambda/simplify_boxed_integer_ops_intf.cmi \ + middle_end/flambda/simple_value_approx.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/flambda/simplify_boxed_integer_ops.cmi +middle_end/flambda/simplify_boxed_integer_ops.cmi : \ + middle_end/flambda/simplify_boxed_integer_ops_intf.cmi +middle_end/flambda/simplify_boxed_integer_ops_intf.cmi : \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/clambda_primitives.cmi +middle_end/flambda/simplify_common.cmo : \ + middle_end/flambda/simple_value_approx.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/effect_analysis.cmi \ + middle_end/flambda/simplify_common.cmi +middle_end/flambda/simplify_common.cmx : \ + middle_end/flambda/simple_value_approx.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/effect_analysis.cmx \ + middle_end/flambda/simplify_common.cmi +middle_end/flambda/simplify_common.cmi : \ + middle_end/flambda/simple_value_approx.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/simplify_primitives.cmo : \ + middle_end/flambda/base_types/tag.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simplify_common.cmi \ + middle_end/flambda/simplify_boxed_integer_ops.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/semantics_of_primitives.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/flambda.cmi \ + utils/clflags.cmi \ + middle_end/clambda_primitives.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/simplify_primitives.cmi +middle_end/flambda/simplify_primitives.cmx : \ + middle_end/flambda/base_types/tag.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/simplify_common.cmx \ + middle_end/flambda/simplify_boxed_integer_ops.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/semantics_of_primitives.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/flambda.cmx \ + utils/clflags.cmx \ + middle_end/clambda_primitives.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/simplify_primitives.cmi +middle_end/flambda/simplify_primitives.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/flambda.cmi \ + lambda/debuginfo.cmi \ + middle_end/clambda_primitives.cmi +middle_end/flambda/traverse_for_exported_symbols.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + utils/misc.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/traverse_for_exported_symbols.cmi +middle_end/flambda/traverse_for_exported_symbols.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/base_types/var_within_closure.cmx \ + middle_end/symbol.cmx \ + middle_end/flambda/simple_value_approx.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + utils/misc.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/export_info.cmx \ + middle_end/flambda/base_types/export_id.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/traverse_for_exported_symbols.cmi +middle_end/flambda/traverse_for_exported_symbols.cmi : \ + middle_end/flambda/base_types/var_within_closure.cmi \ + middle_end/symbol.cmi \ + middle_end/flambda/simple_value_approx.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/export_info.cmi \ + middle_end/flambda/base_types/export_id.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/un_anf.cmo : \ + middle_end/semantics_of_primitives.cmi \ + middle_end/printclambda.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + lambda/debuginfo.cmi \ + utils/clflags.cmi \ + middle_end/clambda_primitives.cmi \ + middle_end/clambda.cmi \ + middle_end/backend_var.cmi \ + parsing/asttypes.cmi \ + middle_end/flambda/un_anf.cmi +middle_end/flambda/un_anf.cmx : \ + middle_end/semantics_of_primitives.cmx \ + middle_end/printclambda.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + lambda/debuginfo.cmx \ + utils/clflags.cmx \ + middle_end/clambda_primitives.cmx \ + middle_end/clambda.cmx \ + middle_end/backend_var.cmx \ + parsing/asttypes.cmi \ + middle_end/flambda/un_anf.cmi +middle_end/flambda/un_anf.cmi : \ + middle_end/clambda.cmi +middle_end/flambda/unbox_closures.cmo : \ + middle_end/variable.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + utils/clflags.cmi \ + middle_end/flambda/augment_specialised_args.cmi \ + middle_end/flambda/unbox_closures.cmi +middle_end/flambda/unbox_closures.cmx : \ + middle_end/variable.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + utils/clflags.cmx \ + middle_end/flambda/augment_specialised_args.cmx \ + middle_end/flambda/unbox_closures.cmi +middle_end/flambda/unbox_closures.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/unbox_free_vars_of_closures.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/pass_wrapper.cmi \ + utils/misc.cmi \ + middle_end/internal_variable_names.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda_utils.cmi \ + middle_end/flambda/flambda_iterators.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/extract_projections.cmi \ + utils/clflags.cmi \ + middle_end/flambda/unbox_free_vars_of_closures.cmi +middle_end/flambda/unbox_free_vars_of_closures.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/pass_wrapper.cmx \ + utils/misc.cmx \ + middle_end/internal_variable_names.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inlining_cost.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + middle_end/flambda/flambda_utils.cmx \ + middle_end/flambda/flambda_iterators.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/extract_projections.cmx \ + utils/clflags.cmx \ + middle_end/flambda/unbox_free_vars_of_closures.cmi +middle_end/flambda/unbox_free_vars_of_closures.cmi : \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/unbox_specialised_args.cmo : \ + middle_end/variable.cmi \ + middle_end/flambda/projection.cmi \ + middle_end/flambda/invariant_params.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi \ + middle_end/flambda/extract_projections.cmi \ + utils/clflags.cmi \ + middle_end/flambda/augment_specialised_args.cmi \ + middle_end/flambda/unbox_specialised_args.cmi +middle_end/flambda/unbox_specialised_args.cmx : \ + middle_end/variable.cmx \ + middle_end/flambda/projection.cmx \ + middle_end/flambda/invariant_params.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/inline_and_simplify_aux.cmx \ + middle_end/flambda/flambda.cmx \ + middle_end/flambda/extract_projections.cmx \ + utils/clflags.cmx \ + middle_end/flambda/augment_specialised_args.cmx \ + middle_end/flambda/unbox_specialised_args.cmi +middle_end/flambda/unbox_specialised_args.cmi : \ + middle_end/variable.cmi \ + middle_end/flambda/inlining_cost.cmi \ + middle_end/flambda/inline_and_simplify_aux.cmi \ + middle_end/flambda/flambda.cmi +middle_end/flambda/base_types/closure_element.cmo : \ + middle_end/variable.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/closure_element.cmi +middle_end/flambda/base_types/closure_element.cmx : \ + middle_end/variable.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/base_types/closure_element.cmi +middle_end/flambda/base_types/closure_element.cmi : \ + middle_end/variable.cmi \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi +middle_end/flambda/base_types/closure_id.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/closure_element.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/base_types/closure_id.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/base_types/closure_element.cmx \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/base_types/closure_id.cmi : \ + middle_end/flambda/base_types/closure_element.cmi +middle_end/flambda/base_types/closure_origin.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/closure_id.cmi \ + middle_end/flambda/base_types/closure_origin.cmi +middle_end/flambda/base_types/closure_origin.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/base_types/closure_id.cmx \ + middle_end/flambda/base_types/closure_origin.cmi +middle_end/flambda/base_types/closure_origin.cmi : \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/closure_id.cmi +middle_end/flambda/base_types/export_id.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/base_types/id_types.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/export_id.cmi +middle_end/flambda/base_types/export_id.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/flambda/base_types/id_types.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/export_id.cmi +middle_end/flambda/base_types/export_id.cmi : \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi +middle_end/flambda/base_types/id_types.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/base_types/id_types.cmi +middle_end/flambda/base_types/id_types.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/flambda/base_types/id_types.cmi +middle_end/flambda/base_types/id_types.cmi : \ + utils/identifiable.cmi +middle_end/flambda/base_types/mutable_variable.cmo : \ + middle_end/variable.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi +middle_end/flambda/base_types/mutable_variable.cmx : \ + middle_end/variable.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/base_types/mutable_variable.cmi +middle_end/flambda/base_types/mutable_variable.cmi : \ + middle_end/variable.cmi \ middle_end/internal_variable_names.cmi \ utils/identifiable.cmi \ typing/ident.cmi \ - middle_end/base_types/compilation_unit.cmi + middle_end/compilation_unit.cmi +middle_end/flambda/base_types/set_of_closures_id.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/base_types/id_types.cmi \ + middle_end/compilation_unit.cmi \ + middle_end/flambda/base_types/set_of_closures_id.cmi +middle_end/flambda/base_types/set_of_closures_id.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/flambda/base_types/id_types.cmx \ + middle_end/compilation_unit.cmx \ + middle_end/flambda/base_types/set_of_closures_id.cmi +middle_end/flambda/base_types/set_of_closures_id.cmi : \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi +middle_end/flambda/base_types/set_of_closures_origin.cmo : \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/set_of_closures_origin.cmi +middle_end/flambda/base_types/set_of_closures_origin.cmx : \ + middle_end/flambda/base_types/set_of_closures_id.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/base_types/set_of_closures_origin.cmi +middle_end/flambda/base_types/set_of_closures_origin.cmi : \ + middle_end/flambda/base_types/set_of_closures_id.cmi \ + utils/identifiable.cmi \ + middle_end/compilation_unit.cmi +middle_end/flambda/base_types/static_exception.cmo : \ + utils/numbers.cmi \ + lambda/lambda.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/static_exception.cmi +middle_end/flambda/base_types/static_exception.cmx : \ + utils/numbers.cmx \ + lambda/lambda.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/base_types/static_exception.cmi +middle_end/flambda/base_types/static_exception.cmi : \ + utils/identifiable.cmi +middle_end/flambda/base_types/tag.cmo : \ + utils/numbers.cmi \ + utils/misc.cmi \ + utils/int_replace_polymorphic_compare.cmi \ + utils/identifiable.cmi \ + middle_end/flambda/base_types/tag.cmi +middle_end/flambda/base_types/tag.cmx : \ + utils/numbers.cmx \ + utils/misc.cmx \ + utils/int_replace_polymorphic_compare.cmx \ + utils/identifiable.cmx \ + middle_end/flambda/base_types/tag.cmi +middle_end/flambda/base_types/tag.cmi : \ + utils/identifiable.cmi +middle_end/flambda/base_types/var_within_closure.cmo : \ + utils/int_replace_polymorphic_compare.cmi \ + middle_end/flambda/base_types/closure_element.cmi \ + middle_end/flambda/base_types/var_within_closure.cmi +middle_end/flambda/base_types/var_within_closure.cmx : \ + utils/int_replace_polymorphic_compare.cmx \ + middle_end/flambda/base_types/closure_element.cmx \ + middle_end/flambda/base_types/var_within_closure.cmi +middle_end/flambda/base_types/var_within_closure.cmi : \ + middle_end/flambda/base_types/closure_element.cmi asmcomp/debug/available_regs.cmo : \ asmcomp/debug/reg_with_debug_info.cmi \ asmcomp/debug/reg_availability_set.cmi \ @@ -5413,7 +5414,7 @@ asmcomp/debug/available_regs.cmo : \ utils/misc.cmi \ asmcomp/mach.cmi \ utils/clflags.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/debug/available_regs.cmi asmcomp/debug/available_regs.cmx : \ asmcomp/debug/reg_with_debug_info.cmx \ @@ -5424,7 +5425,7 @@ asmcomp/debug/available_regs.cmx : \ utils/misc.cmx \ asmcomp/mach.cmx \ utils/clflags.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ asmcomp/debug/available_regs.cmi asmcomp/debug/available_regs.cmi : \ asmcomp/mach.cmi @@ -5433,7 +5434,7 @@ asmcomp/debug/compute_ranges.cmo : \ utils/numbers.cmi \ utils/misc.cmi \ asmcomp/linearize.cmi \ - middle_end/int_replace_polymorphic_compare.cmi \ + utils/int_replace_polymorphic_compare.cmi \ asmcomp/debug/compute_ranges_intf.cmo \ asmcomp/cmm.cmi \ asmcomp/debug/compute_ranges.cmi @@ -5442,7 +5443,7 @@ asmcomp/debug/compute_ranges.cmx : \ utils/numbers.cmx \ utils/misc.cmx \ asmcomp/linearize.cmx \ - middle_end/int_replace_polymorphic_compare.cmx \ + utils/int_replace_polymorphic_compare.cmx \ asmcomp/debug/compute_ranges_intf.cmx \ asmcomp/cmm.cmx \ asmcomp/debug/compute_ranges.cmi @@ -5458,26 +5459,26 @@ asmcomp/debug/compute_ranges_intf.cmx : \ utils/identifiable.cmx asmcomp/debug/reg_availability_set.cmo : \ asmcomp/debug/reg_with_debug_info.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/debug/reg_availability_set.cmi asmcomp/debug/reg_availability_set.cmx : \ asmcomp/debug/reg_with_debug_info.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ asmcomp/debug/reg_availability_set.cmi asmcomp/debug/reg_availability_set.cmi : \ asmcomp/debug/reg_with_debug_info.cmi \ asmcomp/reg.cmi asmcomp/debug/reg_with_debug_info.cmo : \ asmcomp/reg.cmi \ - asmcomp/backend_var.cmi \ + middle_end/backend_var.cmi \ asmcomp/debug/reg_with_debug_info.cmi asmcomp/debug/reg_with_debug_info.cmx : \ asmcomp/reg.cmx \ - asmcomp/backend_var.cmx \ + middle_end/backend_var.cmx \ asmcomp/debug/reg_with_debug_info.cmi asmcomp/debug/reg_with_debug_info.cmi : \ asmcomp/reg.cmi \ - asmcomp/backend_var.cmi + middle_end/backend_var.cmi driver/compenv.cmo : \ utils/warnings.cmi \ utils/profile.cmi \ @@ -5498,26 +5499,26 @@ driver/compenv.cmx : \ driver/compenv.cmi driver/compenv.cmi : driver/compile.cmo : \ - bytecomp/translmod.cmi \ - bytecomp/simplif.cmi \ + lambda/translmod.cmi \ + lambda/simplif.cmi \ utils/profile.cmi \ - bytecomp/printlambda.cmi \ + lambda/printlambda.cmi \ bytecomp/printinstr.cmi \ utils/misc.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ bytecomp/emitcode.cmi \ driver/compile_common.cmi \ utils/clflags.cmi \ bytecomp/bytegen.cmi \ driver/compile.cmi driver/compile.cmx : \ - bytecomp/translmod.cmx \ - bytecomp/simplif.cmx \ + lambda/translmod.cmx \ + lambda/simplif.cmx \ utils/profile.cmx \ - bytecomp/printlambda.cmx \ + lambda/printlambda.cmx \ bytecomp/printinstr.cmx \ utils/misc.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ bytecomp/emitcode.cmx \ driver/compile_common.cmx \ utils/clflags.cmx \ @@ -5684,29 +5685,29 @@ driver/makedepend.cmx : \ driver/makedepend.cmi driver/makedepend.cmi : driver/optcompile.cmo : \ - bytecomp/translmod.cmi \ - bytecomp/simplif.cmi \ + lambda/translmod.cmi \ + lambda/simplif.cmi \ utils/profile.cmi \ - bytecomp/printlambda.cmi \ + lambda/printlambda.cmi \ utils/misc.cmi \ - middle_end/middle_end.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/flambda_middle_end.cmi \ utils/config.cmi \ - asmcomp/compilenv.cmi \ + middle_end/compilenv.cmi \ driver/compile_common.cmi \ utils/clflags.cmi \ asmcomp/asmgen.cmi \ driver/optcompile.cmi driver/optcompile.cmx : \ - bytecomp/translmod.cmx \ - bytecomp/simplif.cmx \ + lambda/translmod.cmx \ + lambda/simplif.cmx \ utils/profile.cmx \ - bytecomp/printlambda.cmx \ + lambda/printlambda.cmx \ utils/misc.cmx \ - middle_end/middle_end.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ + middle_end/flambda/flambda_middle_end.cmx \ utils/config.cmx \ - asmcomp/compilenv.cmx \ + middle_end/compilenv.cmx \ driver/compile_common.cmx \ utils/clflags.cmx \ asmcomp/asmgen.cmx \ @@ -5732,10 +5733,10 @@ driver/optmain.cmo : \ driver/makedepend.cmi \ driver/main_args.cmi \ parsing/location.cmi \ - asmcomp/import_approx.cmi \ + middle_end/flambda/import_approx.cmi \ utils/config.cmi \ driver/compmisc.cmi \ - asmcomp/compilenv.cmi \ + middle_end/compilenv.cmi \ driver/compenv.cmi \ utils/clflags.cmi \ middle_end/backend_intf.cmi \ @@ -5754,10 +5755,10 @@ driver/optmain.cmx : \ driver/makedepend.cmx \ driver/main_args.cmx \ parsing/location.cmx \ - asmcomp/import_approx.cmx \ + middle_end/flambda/import_approx.cmx \ utils/config.cmx \ driver/compmisc.cmx \ - asmcomp/compilenv.cmx \ + middle_end/compilenv.cmx \ driver/compenv.cmx \ utils/clflags.cmx \ middle_end/backend_intf.cmi \ @@ -5797,13 +5798,13 @@ driver/pparse.cmi : \ parsing/parsetree.cmi toplevel/expunge.cmo : \ bytecomp/symtable.cmi \ - bytecomp/runtimedef.cmi \ + lambda/runtimedef.cmi \ utils/misc.cmi \ typing/ident.cmi \ bytecomp/bytesections.cmi toplevel/expunge.cmx : \ bytecomp/symtable.cmx \ - bytecomp/runtimedef.cmx \ + lambda/runtimedef.cmx \ utils/misc.cmx \ typing/ident.cmx \ bytecomp/bytesections.cmx @@ -5880,12 +5881,12 @@ toplevel/opttoploop.cmo : \ typing/typemod.cmi \ typing/typedtree.cmi \ typing/typecore.cmi \ - bytecomp/translmod.cmi \ - bytecomp/simplif.cmi \ + lambda/translmod.cmi \ + lambda/simplif.cmi \ asmcomp/proc.cmi \ typing/printtyped.cmi \ typing/printtyp.cmi \ - bytecomp/printlambda.cmi \ + lambda/printlambda.cmi \ parsing/printast.cmi \ typing/predef.cmi \ parsing/pprintast.cmi \ @@ -5896,20 +5897,20 @@ toplevel/opttoploop.cmo : \ typing/outcometree.cmi \ typing/oprint.cmi \ utils/misc.cmi \ - middle_end/middle_end.cmi \ parsing/longident.cmi \ parsing/location.cmi \ utils/load_path.cmi \ parsing/lexer.cmi \ - bytecomp/lambda.cmi \ + lambda/lambda.cmi \ typing/includemod.cmi \ - asmcomp/import_approx.cmi \ + middle_end/flambda/import_approx.cmi \ typing/ident.cmi \ toplevel/genprintval.cmi \ + middle_end/flambda/flambda_middle_end.cmi \ typing/env.cmi \ utils/config.cmi \ driver/compmisc.cmi \ - asmcomp/compilenv.cmi \ + middle_end/compilenv.cmi \ driver/compenv.cmi \ utils/clflags.cmi \ typing/btype.cmi \ @@ -5926,12 +5927,12 @@ toplevel/opttoploop.cmx : \ typing/typemod.cmx \ typing/typedtree.cmx \ typing/typecore.cmx \ - bytecomp/translmod.cmx \ - bytecomp/simplif.cmx \ + lambda/translmod.cmx \ + lambda/simplif.cmx \ asmcomp/proc.cmx \ typing/printtyped.cmx \ typing/printtyp.cmx \ - bytecomp/printlambda.cmx \ + lambda/printlambda.cmx \ parsing/printast.cmx \ typing/predef.cmx \ parsing/pprintast.cmx \ @@ -5942,20 +5943,20 @@ toplevel/opttoploop.cmx : \ typing/outcometree.cmi \ typing/oprint.cmx \ utils/misc.cmx \ - middle_end/middle_end.cmx \ parsing/longident.cmx \ parsing/location.cmx \ utils/load_path.cmx \ parsing/lexer.cmx \ - bytecomp/lambda.cmx \ + lambda/lambda.cmx \ typing/includemod.cmx \ - asmcomp/import_approx.cmx \ + middle_end/flambda/import_approx.cmx \ typing/ident.cmx \ toplevel/genprintval.cmx \ + middle_end/flambda/flambda_middle_end.cmx \ typing/env.cmx \ utils/config.cmx \ driver/compmisc.cmx \ - asmcomp/compilenv.cmx \ + middle_end/compilenv.cmx \ driver/compenv.cmx \ utils/clflags.cmx \ typing/btype.cmx \ @@ -6027,7 +6028,7 @@ toplevel/topdirs.cmo : \ bytecomp/dll.cmi \ typing/ctype.cmi \ utils/config.cmi \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmi \ typing/btype.cmi \ parsing/asttypes.cmi \ @@ -6056,7 +6057,7 @@ toplevel/topdirs.cmx : \ bytecomp/dll.cmx \ typing/ctype.cmx \ utils/config.cmx \ - bytecomp/cmo_format.cmi \ + file_formats/cmo_format.cmi \ utils/clflags.cmx \ typing/btype.cmx \ parsing/asttypes.cmi \ @@ -6071,12 +6072,12 @@ toplevel/toploop.cmo : \ typing/typemod.cmi \ typing/typedtree.cmi \ typing/typecore.cmi \ - bytecomp/translmod.cmi \ + lambda/translmod.cmi \ bytecomp/symtable.cmi \ - bytecomp/simplif.cmi \ + lambda/simplif.cmi \ typing/printtyped.cmi \ typing/printtyp.cmi \ - bytecomp/printlambda.cmi \ + lambda/printlambda.cmi \ bytecomp/printinstr.cmi \ parsing/printast.cmi \ typing/predef.cmi \ @@ -6115,12 +6116,12 @@ toplevel/toploop.cmx : \ typing/typemod.cmx \ typing/typedtree.cmx \ typing/typecore.cmx \ - bytecomp/translmod.cmx \ + lambda/translmod.cmx \ bytecomp/symtable.cmx \ - bytecomp/simplif.cmx \ + lambda/simplif.cmx \ typing/printtyped.cmx \ typing/printtyp.cmx \ - bytecomp/printlambda.cmx \ + lambda/printlambda.cmx \ bytecomp/printinstr.cmx \ parsing/printast.cmx \ typing/predef.cmx \ diff --git a/Changes b/Changes index 062c959c5..fc38092af 100644 --- a/Changes +++ b/Changes @@ -73,6 +73,9 @@ Working version - #2280: Don't make more Clambda constants after starting Cmmgen (Mark Shinwell, review by Vincent Laviron) +- #2281: Move some middle-end files around + (Mark Shinwell) + - #2283: Add [is_prefix] and [find_and_chop_longest_common_prefix] to [Misc.Stdlib.List] (Mark Shinwell, review by Alain Frisch and Stephen Dolan) diff --git a/Makefile b/Makefile index 1b6d2ff07..efc5b9d1d 100644 --- a/Makefile +++ b/Makefile @@ -46,8 +46,10 @@ include stdlib/StdlibModules CAMLC=$(BOOT_OCAMLC) -g -nostdlib -I boot -use-prims runtime/primitives CAMLOPT=$(CAMLRUN) ./ocamlopt -g -nostdlib -I stdlib -I otherlibs/dynlink ARCHES=amd64 i386 arm arm64 power s390x -INCLUDES=-I utils -I parsing -I typing -I bytecomp -I middle_end \ - -I middle_end/base_types -I asmcomp -I asmcomp/debug \ +INCLUDES=-I utils -I parsing -I typing -I bytecomp -I file_formats \ + -I lambda -I middle_end -I middle_end/closure \ + -I middle_end/flambda -I middle_end/flambda/base_types \ + -I asmcomp -I asmcomp/debug \ -I driver -I toplevel COMPFLAGS=-strict-sequence -principal -absname -w +a-4-9-41-42-44-45-48-66 \ @@ -76,7 +78,8 @@ UTILS=utils/config.cmo utils/build_path_prefix_map.cmo utils/misc.cmo \ utils/terminfo.cmo utils/ccomp.cmo utils/warnings.cmo \ utils/consistbl.cmo \ utils/strongly_connected_components.cmo \ - utils/targetint.cmo + utils/targetint.cmo \ + utils/int_replace_polymorphic_compare.cmo PARSING=parsing/location.cmo parsing/longident.cmo \ parsing/docstrings.cmo parsing/syntaxerr.cmo \ @@ -91,14 +94,13 @@ TYPING=typing/ident.cmo typing/path.cmo \ typing/primitive.cmo typing/types.cmo \ typing/btype.cmo typing/oprint.cmo \ typing/subst.cmo typing/predef.cmo \ - typing/datarepr.cmo typing/cmi_format.cmo \ - typing/persistent_env.cmo \ - typing/env.cmo \ + typing/datarepr.cmo file_formats/cmi_format.cmo \ + typing/persistent_env.cmo typing/env.cmo \ typing/typedtree.cmo typing/printtyped.cmo typing/ctype.cmo \ typing/printtyp.cmo typing/includeclass.cmo \ typing/mtype.cmo typing/envaux.cmo typing/includecore.cmo \ typing/tast_iterator.cmo typing/tast_mapper.cmo \ - typing/cmt_format.cmo typing/untypeast.cmo \ + file_formats/cmt_format.cmo typing/untypeast.cmo \ typing/includemod.cmo typing/typetexp.cmo typing/printpat.cmo \ typing/parmatch.cmo typing/stypes.cmo \ typing/typedecl_properties.cmo typing/typedecl_variance.cmo \ @@ -107,12 +109,15 @@ TYPING=typing/ident.cmo typing/path.cmo \ typing/rec_check.cmo typing/typecore.cmo typing/typeclass.cmo \ typing/typemod.cmo -COMP=bytecomp/lambda.cmo bytecomp/printlambda.cmo \ - bytecomp/switch.cmo bytecomp/matching.cmo \ - bytecomp/translobj.cmo bytecomp/translattribute.cmo \ - bytecomp/translprim.cmo bytecomp/translcore.cmo \ - bytecomp/translclass.cmo bytecomp/translmod.cmo \ - bytecomp/simplif.cmo bytecomp/runtimedef.cmo \ +LAMBDA=lambda/debuginfo.cmo \ + lambda/lambda.cmo lambda/printlambda.cmo \ + lambda/switch.cmo lambda/matching.cmo \ + lambda/translobj.cmo lambda/translattribute.cmo \ + lambda/translprim.cmo lambda/translcore.cmo \ + lambda/translclass.cmo lambda/translmod.cmo \ + lambda/simplif.cmo lambda/runtimedef.cmo + +COMP=\ bytecomp/meta.cmo bytecomp/opcodes.cmo \ bytecomp/bytesections.cmo bytecomp/dll.cmo \ bytecomp/symtable.cmo \ @@ -121,8 +126,7 @@ COMP=bytecomp/lambda.cmo bytecomp/printlambda.cmo \ driver/makedepend.cmo \ driver/compile_common.cmo - -COMMON=$(UTILS) $(PARSING) $(TYPING) $(COMP) +COMMON=$(UTILS) $(PARSING) $(TYPING) $(LAMBDA) $(COMP) BYTECOMP=bytecomp/instruct.cmo bytecomp/bytegen.cmo \ bytecomp/printinstr.cmo bytecomp/emitcode.cmo \ @@ -150,22 +154,10 @@ endif ASMCOMP=\ $(ARCH_SPECIFIC_ASMCOMP) \ asmcomp/arch.cmo \ - asmcomp/backend_var.cmo \ asmcomp/cmm.cmo asmcomp/printcmm.cmo \ asmcomp/reg.cmo asmcomp/debug/reg_with_debug_info.cmo \ asmcomp/debug/reg_availability_set.cmo \ asmcomp/mach.cmo asmcomp/proc.cmo \ - asmcomp/clambda.cmo asmcomp/printclambda.cmo \ - asmcomp/export_info.cmo \ - asmcomp/export_info_for_pack.cmo \ - asmcomp/compilenv.cmo \ - asmcomp/closure.cmo \ - asmcomp/traverse_for_exported_symbols.cmo \ - asmcomp/build_export_info.cmo \ - asmcomp/closure_offsets.cmo \ - asmcomp/flambda_to_clambda.cmo \ - asmcomp/import_approx.cmo \ - asmcomp/un_anf.cmo \ asmcomp/afl_instrument.cmo \ asmcomp/strmatch.cmo \ asmcomp/cmmgen_state.cmo \ @@ -192,72 +184,96 @@ ASMCOMP=\ asmcomp/asmlink.cmo asmcomp/asmlibrarian.cmo asmcomp/asmpackager.cmo \ driver/opterrors.cmo driver/optcompile.cmo +# Files under middle_end/ are not to reference files under asmcomp/. +# This ensures that the middle end can be linked (e.g. for objinfo) even when +# the native code compiler is not present for some particular target. + +MIDDLE_END_CLOSURE=\ + middle_end/closure/closure.cmo + +# Owing to dependencies through [Compilenv], which would be +# difficult to remove, some of the lower parts of Flambda (anything that is +# saved in a .cmx file) have to be included in the [MIDDLE_END] stanza, below. +MIDDLE_END_FLAMBDA=\ + middle_end/flambda/import_approx.cmo \ + middle_end/flambda/lift_code.cmo \ + middle_end/flambda/closure_conversion_aux.cmo \ + middle_end/flambda/closure_conversion.cmo \ + middle_end/flambda/initialize_symbol_to_let_symbol.cmo \ + middle_end/flambda/lift_let_to_initialize_symbol.cmo \ + middle_end/flambda/find_recursive_functions.cmo \ + middle_end/flambda/invariant_params.cmo \ + middle_end/flambda/inconstant_idents.cmo \ + middle_end/flambda/alias_analysis.cmo \ + middle_end/flambda/lift_constants.cmo \ + middle_end/flambda/share_constants.cmo \ + middle_end/flambda/simplify_common.cmo \ + middle_end/flambda/remove_unused_arguments.cmo \ + middle_end/flambda/remove_unused_closure_vars.cmo \ + middle_end/flambda/remove_unused_program_constructs.cmo \ + middle_end/flambda/simplify_boxed_integer_ops.cmo \ + middle_end/flambda/simplify_primitives.cmo \ + middle_end/flambda/inlining_stats_types.cmo \ + middle_end/flambda/inlining_stats.cmo \ + middle_end/flambda/inline_and_simplify_aux.cmo \ + middle_end/flambda/remove_free_vars_equal_to_args.cmo \ + middle_end/flambda/extract_projections.cmo \ + middle_end/flambda/augment_specialised_args.cmo \ + middle_end/flambda/unbox_free_vars_of_closures.cmo \ + middle_end/flambda/unbox_specialised_args.cmo \ + middle_end/flambda/unbox_closures.cmo \ + middle_end/flambda/inlining_transforms.cmo \ + middle_end/flambda/inlining_decision.cmo \ + middle_end/flambda/inline_and_simplify.cmo \ + middle_end/flambda/ref_to_variables.cmo \ + middle_end/flambda/flambda_invariants.cmo \ + middle_end/flambda/traverse_for_exported_symbols.cmo \ + middle_end/flambda/build_export_info.cmo \ + middle_end/flambda/closure_offsets.cmo \ + middle_end/flambda/un_anf.cmo \ + middle_end/flambda/flambda_to_clambda.cmo \ + middle_end/flambda/flambda_middle_end.cmo + MIDDLE_END=\ - middle_end/int_replace_polymorphic_compare.cmo \ - middle_end/debuginfo.cmo \ - asmcomp/clambda_primitives.cmo \ - asmcomp/semantics_of_primitives.cmo \ - asmcomp/convert_primitives.cmo \ - asmcomp/printclambda_primitives.cmo \ - middle_end/base_types/tag.cmo \ - middle_end/base_types/linkage_name.cmo \ - middle_end/base_types/compilation_unit.cmo \ middle_end/internal_variable_names.cmo \ - middle_end/base_types/variable.cmo \ - middle_end/base_types/mutable_variable.cmo \ - middle_end/base_types/id_types.cmo \ - middle_end/base_types/set_of_closures_id.cmo \ - middle_end/base_types/set_of_closures_origin.cmo \ - middle_end/base_types/closure_element.cmo \ - middle_end/base_types/closure_id.cmo \ - middle_end/base_types/closure_origin.cmo \ - middle_end/base_types/var_within_closure.cmo \ - middle_end/base_types/static_exception.cmo \ - middle_end/base_types/export_id.cmo \ - middle_end/base_types/symbol.cmo \ - middle_end/pass_wrapper.cmo \ - middle_end/allocated_const.cmo \ - middle_end/parameter.cmo \ - middle_end/projection.cmo \ - middle_end/flambda.cmo \ - middle_end/flambda_iterators.cmo \ - middle_end/flambda_utils.cmo \ - middle_end/inlining_cost.cmo \ - middle_end/effect_analysis.cmo \ - middle_end/freshening.cmo \ - middle_end/simple_value_approx.cmo \ - middle_end/lift_code.cmo \ - middle_end/closure_conversion_aux.cmo \ - middle_end/closure_conversion.cmo \ - middle_end/initialize_symbol_to_let_symbol.cmo \ - middle_end/lift_let_to_initialize_symbol.cmo \ - middle_end/find_recursive_functions.cmo \ - middle_end/invariant_params.cmo \ - middle_end/inconstant_idents.cmo \ - middle_end/alias_analysis.cmo \ - middle_end/lift_constants.cmo \ - middle_end/share_constants.cmo \ - middle_end/simplify_common.cmo \ - middle_end/remove_unused_arguments.cmo \ - middle_end/remove_unused_closure_vars.cmo \ - middle_end/remove_unused_program_constructs.cmo \ - middle_end/simplify_boxed_integer_ops.cmo \ - middle_end/simplify_primitives.cmo \ - middle_end/inlining_stats_types.cmo \ - middle_end/inlining_stats.cmo \ - middle_end/inline_and_simplify_aux.cmo \ - middle_end/remove_free_vars_equal_to_args.cmo \ - middle_end/extract_projections.cmo \ - middle_end/augment_specialised_args.cmo \ - middle_end/unbox_free_vars_of_closures.cmo \ - middle_end/unbox_specialised_args.cmo \ - middle_end/unbox_closures.cmo \ - middle_end/inlining_transforms.cmo \ - middle_end/inlining_decision.cmo \ - middle_end/inline_and_simplify.cmo \ - middle_end/ref_to_variables.cmo \ - middle_end/flambda_invariants.cmo \ - middle_end/middle_end.cmo + middle_end/linkage_name.cmo \ + middle_end/compilation_unit.cmo \ + middle_end/variable.cmo \ + middle_end/flambda/base_types/closure_element.cmo \ + middle_end/flambda/base_types/closure_id.cmo \ + middle_end/symbol.cmo \ + middle_end/backend_var.cmo \ + middle_end/clambda_primitives.cmo \ + middle_end/printclambda_primitives.cmo \ + middle_end/clambda.cmo \ + middle_end/printclambda.cmo \ + middle_end/semantics_of_primitives.cmo \ + middle_end/convert_primitives.cmo \ + middle_end/flambda/base_types/id_types.cmo \ + middle_end/flambda/base_types/export_id.cmo \ + middle_end/flambda/base_types/tag.cmo \ + middle_end/flambda/base_types/mutable_variable.cmo \ + middle_end/flambda/base_types/set_of_closures_id.cmo \ + middle_end/flambda/base_types/set_of_closures_origin.cmo \ + middle_end/flambda/base_types/closure_origin.cmo \ + middle_end/flambda/base_types/var_within_closure.cmo \ + middle_end/flambda/base_types/static_exception.cmo \ + middle_end/flambda/pass_wrapper.cmo \ + middle_end/flambda/allocated_const.cmo \ + middle_end/flambda/parameter.cmo \ + middle_end/flambda/projection.cmo \ + middle_end/flambda/flambda.cmo \ + middle_end/flambda/flambda_iterators.cmo \ + middle_end/flambda/flambda_utils.cmo \ + middle_end/flambda/freshening.cmo \ + middle_end/flambda/effect_analysis.cmo \ + middle_end/flambda/inlining_cost.cmo \ + middle_end/flambda/simple_value_approx.cmo \ + middle_end/flambda/export_info.cmo \ + middle_end/flambda/export_info_for_pack.cmo \ + middle_end/compilenv.cmo \ + $(MIDDLE_END_CLOSURE) \ + $(MIDDLE_END_FLAMBDA) OPTCOMP=$(MIDDLE_END) $(ASMCOMP) @@ -541,6 +557,8 @@ endif parsing/*.cmi \ typing/*.cmi \ bytecomp/*.cmi \ + file_formats/*.cmi \ + lambda/*.cmi \ driver/*.cmi \ toplevel/*.cmi \ "$(INSTALL_COMPLIBDIR)" @@ -549,6 +567,8 @@ ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true" utils/*.cmt utils/*.cmti utils/*.mli \ parsing/*.cmt parsing/*.cmti parsing/*.mli \ typing/*.cmt typing/*.cmti typing/*.mli \ + file_formats/*.cmt file_formats/*.cmti file_formats/*.mli \ + lambda/*.cmt lambda/*.cmti lambda/*.mli \ bytecomp/*.cmt bytecomp/*.cmti bytecomp/*.mli \ driver/*.cmt driver/*.cmti driver/*.mli \ toplevel/*.cmt toplevel/*.cmti toplevel/*.mli \ @@ -614,7 +634,13 @@ endif middle_end/*.cmi \ "$(INSTALL_COMPLIBDIR)" $(INSTALL_DATA) \ - middle_end/base_types/*.cmi \ + middle_end/closure/*.cmi \ + "$(INSTALL_COMPLIBDIR)" + $(INSTALL_DATA) \ + middle_end/flambda/*.cmi \ + "$(INSTALL_COMPLIBDIR)" + $(INSTALL_DATA) \ + middle_end/flambda/base_types/*.cmi \ "$(INSTALL_COMPLIBDIR)" $(INSTALL_DATA) \ asmcomp/*.cmi \ @@ -625,8 +651,17 @@ ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true" middle_end/*.mli \ "$(INSTALL_COMPLIBDIR)" $(INSTALL_DATA) \ - middle_end/base_types/*.cmt middle_end/base_types/*.cmti \ - middle_end/base_types/*.mli \ + middle_end/closure/*.cmt middle_end/closure/*.cmti \ + middle_end/closure/*.mli \ + "$(INSTALL_COMPLIBDIR)" + $(INSTALL_DATA) \ + middle_end/flambda/*.cmt middle_end/flambda/*.cmti \ + middle_end/flambda/*.mli \ + "$(INSTALL_COMPLIBDIR)" + $(INSTALL_DATA) \ + middle_end/flambda/base_types/*.cmt \ + middle_end/flambda/base_types/*.cmti \ + middle_end/flambda/base_types/*.mli \ "$(INSTALL_COMPLIBDIR)" $(INSTALL_DATA) \ asmcomp/*.cmt asmcomp/*.cmti \ @@ -670,8 +705,13 @@ installoptopt: $(LN) ocamllex.opt$(EXE) ocamllex$(EXE) $(INSTALL_DATA) \ utils/*.cmx parsing/*.cmx typing/*.cmx bytecomp/*.cmx \ + file_formats/*.cmx \ + lambda/*.cmx \ driver/*.cmx asmcomp/*.cmx middle_end/*.cmx \ - middle_end/base_types/*.cmx "$(INSTALL_COMPLIBDIR)" + middle_end/closure/*.cmx \ + middle_end/flambda/*.cmx \ + middle_end/flambda/base_types/*.cmx \ + "$(INSTALL_COMPLIBDIR)" $(INSTALL_DATA) \ compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlcommon.$(A) \ compilerlibs/ocamlbytecomp.cmxa compilerlibs/ocamlbytecomp.$(A) \ @@ -700,7 +740,10 @@ install-compiler-sources: ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true" $(INSTALL_DATA) \ utils/*.ml parsing/*.ml typing/*.ml bytecomp/*.ml driver/*.ml \ - toplevel/*.ml middle_end/*.ml middle_end/base_types/*.ml \ + file_formats/*.ml \ + lambda/*.ml \ + toplevel/*.ml middle_end/*.ml middle_end/closure/*.ml \ + middle_end/flambda/*.ml middle_end/flambda/base_types/*.ml \ asmcomp/*.ml \ "$(INSTALL_COMPLIBDIR)" endif @@ -857,14 +900,14 @@ $(COMMON:.cmo=.cmx) $(BYTECOMP:.cmo=.cmx) $(OPTCOMP:.cmo=.cmx): ocamlopt runtime/primitives: $(MAKE) -C runtime primitives -bytecomp/runtimedef.ml: bytecomp/generate_runtimedef.sh runtime/caml/fail.h \ +lambda/runtimedef.ml: lambda/generate_runtimedef.sh runtime/caml/fail.h \ runtime/primitives $^ > $@ partialclean:: - rm -f bytecomp/runtimedef.ml + rm -f lambda/runtimedef.ml -beforedepend:: bytecomp/runtimedef.ml +beforedepend:: lambda/runtimedef.ml # Choose the right machine-dependent files @@ -1109,10 +1152,7 @@ lintapidiff: grep -Ev internal\|obj\|spacetime\|stdLabels\|moreLabels |\ tools/lintapidiff.opt $(VERSIONS) -# The middle end (whose .cma library is currently only used for linking -# the "ocamlobjinfo" program, since we cannot depend on the whole native code -# compiler for "make world" and the list of dependencies for -# asmcomp/export_info.cmo is long). +# The middle end. compilerlibs/ocamlmiddleend.cma: $(MIDDLE_END) $(CAMLC) -a -o $@ $^ @@ -1126,9 +1166,7 @@ partialclean:: # Tools .PHONY: ocamltools -ocamltools: ocamlc ocamllex asmcomp/cmx_format.cmi \ - asmcomp/printclambda.cmo compilerlibs/ocamlmiddleend.cma \ - asmcomp/export_info.cmo +ocamltools: ocamlc ocamllex compilerlibs/ocamlmiddleend.cma $(MAKE) -C tools all .PHONY: ocamltoolsopt @@ -1136,9 +1174,7 @@ ocamltoolsopt: ocamlopt $(MAKE) -C tools opt .PHONY: ocamltoolsopt.opt -ocamltoolsopt.opt: ocamlc.opt ocamllex.opt asmcomp/cmx_format.cmi \ - asmcomp/printclambda.cmx compilerlibs/ocamlmiddleend.cmxa \ - asmcomp/export_info.cmx +ocamltoolsopt.opt: ocamlc.opt ocamllex.opt compilerlibs/ocamlmiddleend.cmxa $(MAKE) -C tools opt.opt partialclean:: @@ -1261,8 +1297,10 @@ partialclean:: $(CAMLOPT) $(COMPFLAGS) -c $< partialclean:: - for d in utils parsing typing bytecomp asmcomp middle_end \ - middle_end/base_types asmcomp/debug driver toplevel tools; do \ + for d in utils parsing typing bytecomp asmcomp middle_end file_formats \ + lambda middle_end/closure middle_end/flambda \ + middle_end/flambda/base_types asmcomp/debug \ + driver toplevel tools; do \ rm -f $$d/*.cm[ioxt] $$d/*.cmti $$d/*.annot $$d/*.$(S) \ $$d/*.$(O) $$d/*.$(SO) $$d/*~; \ done @@ -1271,9 +1309,11 @@ partialclean:: .PHONY: depend depend: beforedepend (for d in utils parsing typing bytecomp asmcomp middle_end \ - middle_end/base_types asmcomp/debug driver toplevel; \ - do $(CAMLDEP) $(DEPFLAGS) $(DEPINCLUDES) $$d/*.mli $$d/*.ml || exit; \ - done) > .depend + lambda file_formats middle_end/closure middle_end/flambda \ + middle_end/flambda/base_types asmcomp/debug \ + driver toplevel; \ + do $(CAMLDEP) $(DEPFLAGS) $(DEPINCLUDES) $$d/*.mli $$d/*.ml || exit; \ + done) > .depend .PHONY: distclean distclean: clean diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp index 4b6d25e97..d16c51790 100644 --- a/asmcomp/amd64/emit.mlp +++ b/asmcomp/amd64/emit.mlp @@ -33,6 +33,7 @@ module String = Misc.Stdlib.String emit.mlp files for certain other targets; the reference here ensures that when releases are being prepared the .depend files are correct for all targets. *) +[@@@ocaml.warning "-66"] open! Branch_relaxation let _label s = D.label ~typ:QWORD s diff --git a/asmcomp/asmgen.ml b/asmcomp/asmgen.ml index 4af472d36..46f7b2704 100644 --- a/asmcomp/asmgen.ml +++ b/asmcomp/asmgen.ml @@ -221,9 +221,11 @@ let flambda_gen_implementation ?toplevel ~backend ~ppf_dump end_gen_implementation ?toplevel ~ppf_dump (clambda, preallocated, constants) -let lambda_gen_implementation ?toplevel ~ppf_dump +let lambda_gen_implementation ?toplevel ~backend ~ppf_dump (lambda:Lambda.program) = - let clambda = Closure.intro lambda.main_module_block_size lambda.code in + let clambda = + Closure.intro ~backend ~size:lambda.main_module_block_size lambda.code + in let provenance : Clambda.usymbol_provenance = { original_idents = []; module_path = @@ -259,10 +261,10 @@ let compile_implementation_gen ?toplevel prefixname gen_implementation ?toplevel ~ppf_dump program) let compile_implementation_clambda ?toplevel prefixname - ~ppf_dump (program:Lambda.program) = + ~backend ~ppf_dump (program:Lambda.program) = compile_implementation_gen ?toplevel prefixname ~required_globals:program.Lambda.required_globals - ~ppf_dump lambda_gen_implementation program + ~ppf_dump (lambda_gen_implementation ~backend) program let compile_implementation_flambda ?toplevel prefixname ~required_globals ~backend ~ppf_dump (program:Flambda.program) = diff --git a/asmcomp/asmgen.mli b/asmcomp/asmgen.mli index f2f4ccaef..160456215 100644 --- a/asmcomp/asmgen.mli +++ b/asmcomp/asmgen.mli @@ -25,6 +25,7 @@ val compile_implementation_flambda : val compile_implementation_clambda : ?toplevel:(string -> bool) -> string -> + backend:(module Backend_intf.S) -> ppf_dump:Format.formatter -> Lambda.program -> unit val compile_phrase : diff --git a/asmcomp/asmpackager.ml b/asmcomp/asmpackager.ml index cddb34631..1bed76f7b 100644 --- a/asmcomp/asmpackager.ml +++ b/asmcomp/asmpackager.ml @@ -102,7 +102,7 @@ let make_package_object ~ppf_dump members targetobj targetname coercion if Config.flambda then begin let size, lam = Translmod.transl_package_flambda components coercion in let flam = - Middle_end.middle_end ~ppf_dump + Flambda_middle_end.middle_end ~ppf_dump ~prefixname ~backend ~size @@ -117,7 +117,7 @@ let make_package_object ~ppf_dump members targetobj targetname coercion Translmod.transl_store_package components (Ident.create_persistent targetname) coercion in Asmgen.compile_implementation_clambda - prefixname ~ppf_dump { Lambda.code; main_module_block_size; + prefixname ~backend ~ppf_dump { Lambda.code; main_module_block_size; module_ident; required_globals = Ident.Set.empty } end; let objfiles = diff --git a/bytecomp/dune b/bytecomp/dune index b2409cf4f..655cb57eb 100644 --- a/bytecomp/dune +++ b/bytecomp/dune @@ -18,11 +18,3 @@ (deps (:instr (file ../runtime/caml/instruct.h))) (action (bash "%{dep:../tools/make_opcodes.exe} -opcodes < %{instr} > %{targets}"))) - -(rule - (targets runtimedef.ml) - (mode fallback) - (deps (:fail (file ../runtime/caml/fail.h)) - (:prim (file ../runtime/primitives))) - (action (with-stdout-to %{targets} - (run ./generate_runtimedef.sh %{fail} %{prim})))) diff --git a/debugger/.depend b/debugger/.depend index bfbac1359..114bd380e 100644 --- a/debugger/.depend +++ b/debugger/.depend @@ -286,6 +286,7 @@ main.cmo : \ question.cmi \ program_management.cmi \ primitives.cmi \ + ../typing/persistent_env.cmi \ parameters.cmi \ ../utils/misc.cmi \ loadprinter.cmi \ @@ -293,11 +294,10 @@ main.cmo : \ input_handling.cmi \ frames.cmi \ exec.cmi \ - ../typing/env.cmi \ debugger_config.cmi \ ../utils/config.cmi \ command_line.cmi \ - ../typing/cmi_format.cmi \ + ../file_formats/cmi_format.cmi \ ../utils/clflags.cmi \ checkpoints.cmi main.cmx : \ @@ -308,6 +308,7 @@ main.cmx : \ question.cmx \ program_management.cmx \ primitives.cmx \ + ../typing/persistent_env.cmx \ parameters.cmx \ ../utils/misc.cmx \ loadprinter.cmx \ @@ -315,11 +316,10 @@ main.cmx : \ input_handling.cmx \ frames.cmx \ exec.cmx \ - ../typing/env.cmx \ debugger_config.cmx \ ../utils/config.cmx \ command_line.cmx \ - ../typing/cmi_format.cmx \ + ../file_formats/cmi_format.cmx \ ../utils/clflags.cmx \ checkpoints.cmx parameters.cmo : \ diff --git a/debugger/Makefile b/debugger/Makefile index 5b4b550c4..1ff7fc25f 100644 --- a/debugger/Makefile +++ b/debugger/Makefile @@ -34,7 +34,7 @@ DEPFLAGS=-slash DEPINCLUDES=$(INCLUDES) DIRECTORIES=$(UNIXDIR) $(DYNLINKDIR) $(addprefix $(ROOTDIR)/,\ - utils parsing typing bytecomp toplevel) + utils parsing typing bytecomp toplevel driver file_formats lambda) INCLUDES=$(addprefix -I ,$(DIRECTORIES)) @@ -48,16 +48,23 @@ parsing_modules := $(addprefix parsing/,\ typing_modules := $(addprefix typing/,\ ident path types btype primitive typedtree subst predef datarepr \ - cmi_format persistent_env env oprint ctype printtyp mtype envaux) + persistent_env env oprint ctype printtyp mtype envaux) + +file_formats_modules := $(addprefix file_formats/,\ + cmi_format) + +lambda_modules := $(addprefix lambda/,\ + runtimedef) bytecomp_modules := $(addprefix bytecomp/,\ - runtimedef bytesections dll meta symtable opcodes) + bytesections dll meta symtable opcodes) other_compiler_modules := toplevel/genprintval compiler_modules := $(addprefix $(ROOTDIR)/,\ - $(utils_modules) $(parsing_modules) $(typing_modules) \ - $(bytecomp_modules) $(other_compiler_modules)) + $(utils_modules) $(parsing_modules) $(file_formats_modules) \ + $(lambda_modules) \ + $(typing_modules) $(bytecomp_modules) $(other_compiler_modules)) debugger_modules := \ int64ops primitives unix_tools debugger_config parameters lexer \ diff --git a/debugger/dune b/debugger/dune index 975609437..60813e0c8 100644 --- a/debugger/dune +++ b/debugger/dune @@ -12,14 +12,16 @@ ;* * ;************************************************************************** -(ocamllex lexer) -(ocamlyacc parser) +; mshinwell: Disabled for now -- otherlibs/dynlink/dune needs fixing first. -(executable - (name main) - (modes byte) - (flags (:standard -w -9)) - (modules_without_implementation parser_aux) - (libraries ocamlcommon ocamltoplevel runtime stdlib unix)) - -(rule (copy main.exe ocamldebug.byte)) +;(ocamllex lexer) +;(ocamlyacc parser) +; +;(executable +; (name main) +; (modes byte) +; (flags (:standard -w -9)) +; (modules_without_implementation parser_aux) +; (libraries ocamlcommon ocamltoplevel runtime stdlib unix)) +; +;(rule (copy main.exe ocamldebug.byte)) diff --git a/driver/optcompile.ml b/driver/optcompile.ml index 3e82b1292..0af391cc5 100644 --- a/driver/optcompile.ml +++ b/driver/optcompile.ml @@ -49,7 +49,7 @@ let flambda i backend typed = |>> Simplif.simplify_lambda |>> print_if i.ppf_dump Clflags.dump_lambda Printlambda.lambda |> (fun ((module_ident, size), lam) -> - Middle_end.middle_end + Flambda_middle_end.middle_end ~ppf_dump:i.ppf_dump ~prefixname:i.output_prefix ~size @@ -61,7 +61,7 @@ let flambda i backend typed = i.output_prefix ~required_globals ~backend ~ppf_dump:i.ppf_dump; Compilenv.save_unit_info (cmx i)) -let clambda i typed = +let clambda i backend typed = Clflags.use_inlining_arguments_set Clflags.classic_arguments; typed |> Profile.(record transl) @@ -73,7 +73,7 @@ let clambda i typed = { program with Lambda.code } |> print_if i.ppf_dump Clflags.dump_lambda Printlambda.program |> Asmgen.compile_implementation_clambda - i.output_prefix ~ppf_dump:i.ppf_dump; + i.output_prefix ~backend ~ppf_dump:i.ppf_dump; Compilenv.save_unit_info (cmx i)) let implementation ~backend ~source_file ~output_prefix = @@ -81,7 +81,7 @@ let implementation ~backend ~source_file ~output_prefix = Compilenv.reset ?packname:!Clflags.for_package info.module_name; if Config.flambda then flambda info backend typed - else clambda info typed + else clambda info backend typed in with_info ~source_file ~output_prefix ~dump_ext:"cmx" @@ fun info -> Compile_common.implementation info ~backend diff --git a/driver/optcompile.mli b/driver/optcompile.mli index 27cd1e0d6..9a23b8b23 100644 --- a/driver/optcompile.mli +++ b/driver/optcompile.mli @@ -25,6 +25,7 @@ val implementation: val clambda : Compile_common.info -> + (module Backend_intf.S) -> Typedtree.structure * Typedtree.module_coercion -> unit (** [clambda info typed] applies the regular compilation pipeline to the given typechecked implementation and outputs the resulting files. diff --git a/dune b/dune index 8f3bf409a..278240475 100644 --- a/dune +++ b/dune @@ -27,8 +27,12 @@ (copy_files# driver/*.ml{,i}) (copy_files# asmcomp/*.ml{,i}) (copy_files# asmcomp/debug/*.ml{,i}) +(copy_files# file_formats/*.ml{,i}) +(copy_files# lambda/*.ml{,i}) (copy_files# middle_end/*.ml{,i}) -(copy_files# middle_end/base_types/*.ml{,i}) +(copy_files# middle_end/closure/*.ml{,i}) +(copy_files# middle_end/flambda/*.ml{,i}) +(copy_files# middle_end/flambda/base_types/*.ml{,i}) (library (name ocamlcommon) @@ -41,7 +45,7 @@ ;; UTILS config build_path_prefix_map misc identifiable numbers arg_helper clflags profile terminfo ccomp warnings consistbl strongly_connected_components - targetint load_path + targetint load_path int_replace_polymorphic_compare ;; PARSING location longident docstrings syntaxerr ast_helper camlinternalMenhirLib @@ -61,17 +65,20 @@ ; manual update: mli only files annot outcometree - ;; COMP - lambda printlambda semantics_of_primitives switch matching translobj - translattribute translprim translcore translclass translmod simplif - runtimedef meta opcodes bytesections dll symtable pparse main_args compenv - compmisc makedepend compile_common clambda_primitives - printclambda_primitives + ;; lambda/ + debuginfo lambda matching printlambda runtimedef simplif switch + translattribute translclass translcore translmod translobj translprim + + ;; bytecomp/ + meta opcodes bytesections dll symtable + + ;; some of COMP + pparse main_args compenv compmisc makedepend compile_common ; manual update: mli only files cmo_format ; manual update: this is required. instruct - )) + )) (library (name ocamlbytecomp) @@ -79,58 +86,79 @@ (flags (:standard -principal -nostdlib)) (libraries stdlib ocamlcommon) (modules - bytegen printinstr emitcode bytelink bytelibrarian bytepackager errors - compile)) + ;; bytecomp/ + bytegen bytelibrarian bytelink bytepackager emitcode printinstr + + ;; driver/ + errors compile + )) + +(library + (name ocamlmiddleend) + (wrapped false) + (flags (:standard -principal -nostdlib)) + (libraries stdlib ocamlcommon) + (modules_without_implementation + cmx_format cmxs_format backend_intf inlining_decision_intf + simplify_boxed_integer_ops_intf) + (modules + ;; file_formats/ + cmx_format cmxs_format + + ;; middle_end/ + backend_intf backend_var backend_var clambda clambda_primitives + compilation_unit compilenv convert_primitives internal_variable_names + linkage_name printclambda printclambda_primitives semantics_of_primitives + symbol variable + + ;; middle_end/closure/ + closure + + ;; middle_end/flambda/base_types/ + closure_element closure_id closure_origin export_id id_types mutable_variable + set_of_closures_id set_of_closures_origin static_exception tag + var_within_closure + + ;; middle_end/flambda/ + alias_analysis allocated_const augment_specialised_args build_export_info + closure_conversion closure_conversion_aux closure_offsets effect_analysis + export_info export_info_for_pack extract_projections find_recursive_functions + flambda flambda_invariants flambda_iterators flambda_middle_end + flambda_to_clambda flambda_utils freshening import_approx inconstant_idents + initialize_symbol_to_let_symbol inline_and_simplify inline_and_simplify_aux + inlining_cost inlining_decision inlining_decision_intf inlining_stats + inlining_stats_types inlining_transforms invariant_params lift_code + lift_constants lift_let_to_initialize_symbol parameter pass_wrapper + projection ref_to_variables remove_free_vars_equal_to_args + remove_unused_arguments remove_unused_closure_vars + remove_unused_program_constructs share_constants simple_value_approx + simplify_boxed_integer_ops simplify_boxed_integer_ops_intf simplify_common + simplify_primitives traverse_for_exported_symbols un_anf unbox_closures + unbox_free_vars_of_closures unbox_specialised_args + ) +) (library (name ocamloptcomp) (wrapped false) (flags (:standard -principal -nostdlib)) - (libraries stdlib ocamlcommon) - (modules_without_implementation - cmxs_format cmx_format x86_ast backend_intf inlining_decision_intf - simplify_boxed_integer_ops_intf) + (libraries stdlib ocamlcommon ocamlmiddleend) + (modules_without_implementation x86_ast) (modules - ;; ASMCOMP - arch backend_var cmm printcmm reg reg_with_debug_info reg_availability_set - mach proc clambda printclambda export_info export_info_for_pack compilenv - closure traverse_for_exported_symbols build_export_info closure_offsets - flambda_to_clambda import_approx un_anf afl_instrument strmatch cmmgen_state - cmmgen interval printmach selectgen spacetime_profiling selection comballoc - CSEgen CSE liveness spill split interf coloring linscan reloadgen reload - deadcode printlinear linearize available_regs schedgen scheduling - branch_relaxation_intf branch_relaxation emitaux emit asmgen asmlink - asmlibrarian asmpackager opterrors optcompile - ; manual update: mli only files - cmxs_format cmx_format + ;; asmcomp/ + afl_instrument arch asmgen asmlibrarian asmlink asmpackager branch_relaxation + branch_relaxation_intf cmm cmmgen cmmgen_state coloring comballoc CSE CSEgen + deadcode emit emitaux interf interval linearize linscan liveness mach + printcmm printlinear printmach proc reg reload reloadgen schedgen scheduling + selectgen selection spacetime_profiling spill split strmatch x86_ast + x86_dsl x86_gas x86_masm x86_proc - ; arch specific files: we always include them even though depending on the - ; target architecture they might not be used. - x86_ast - x86_proc - x86_dsl - x86_gas - x86_masm + ;; asmcomp/debug/ + reg_availability_set compute_ranges_intf available_regs reg_with_debug_info + compute_ranges - ;; MIDDLE_END - int_replace_polymorphic_compare debuginfo tag linkage_name compilation_unit - internal_variable_names variable mutable_variable id_types set_of_closures_id - set_of_closures_origin closure_element closure_id closure_origin - var_within_closure static_exception export_id symbol pass_wrapper - allocated_const parameter projection flambda flambda_iterators flambda_utils - inlining_cost effect_analysis freshening simple_value_approx lift_code - closure_conversion_aux closure_conversion initialize_symbol_to_let_symbol - lift_let_to_initialize_symbol find_recursive_functions invariant_params - inconstant_idents alias_analysis lift_constants share_constants - simplify_common remove_unused_arguments remove_unused_closure_vars - remove_unused_program_constructs simplify_boxed_integer_ops - simplify_primitives inlining_stats_types inlining_stats - inline_and_simplify_aux remove_free_vars_equal_to_args extract_projections - augment_specialised_args unbox_free_vars_of_closures unbox_specialised_args - unbox_closures inlining_transforms inlining_decision inline_and_simplify - ref_to_variables flambda_invariants middle_end convert_primitives - ; manual update: mli only files - backend_intf inlining_decision_intf simplify_boxed_integer_ops_intf + ;; driver/ + optcompile opterrors ) ) @@ -156,7 +184,7 @@ (name optmain) (modes byte) (flags (:standard -principal -nostdlib)) - (libraries ocamloptcomp ocamlcommon runtime stdlib) + (libraries ocamloptcomp ocamlmiddleend ocamlcommon runtime stdlib) (modules optmain)) (rule @@ -166,12 +194,14 @@ ;;; aliases ;;; ;;;;;;;;;;;;;;; +; mshinwell: The debugger and ocamldoc are currently disabled as Dynlink is +; not built correctly. (alias (name world) (deps ocamlc.byte ocamlopt.byte - debugger/ocamldebug.byte - ocamldoc/ocamldoc.byte +; debugger/ocamldebug.byte +; ocamldoc/ocamldoc.byte ocamltest/ocamltest.byte toplevel/ocaml.byte toplevel/expunge.exe diff --git a/typing/cmi_format.ml b/file_formats/cmi_format.ml similarity index 100% rename from typing/cmi_format.ml rename to file_formats/cmi_format.ml diff --git a/typing/cmi_format.mli b/file_formats/cmi_format.mli similarity index 100% rename from typing/cmi_format.mli rename to file_formats/cmi_format.mli diff --git a/bytecomp/cmo_format.mli b/file_formats/cmo_format.mli similarity index 100% rename from bytecomp/cmo_format.mli rename to file_formats/cmo_format.mli diff --git a/typing/cmt_format.ml b/file_formats/cmt_format.ml similarity index 100% rename from typing/cmt_format.ml rename to file_formats/cmt_format.ml diff --git a/typing/cmt_format.mli b/file_formats/cmt_format.mli similarity index 100% rename from typing/cmt_format.mli rename to file_formats/cmt_format.mli diff --git a/asmcomp/cmx_format.mli b/file_formats/cmx_format.mli similarity index 100% rename from asmcomp/cmx_format.mli rename to file_formats/cmx_format.mli diff --git a/asmcomp/cmxs_format.mli b/file_formats/cmxs_format.mli similarity index 100% rename from asmcomp/cmxs_format.mli rename to file_formats/cmxs_format.mli diff --git a/middle_end/debuginfo.ml b/lambda/debuginfo.ml similarity index 100% rename from middle_end/debuginfo.ml rename to lambda/debuginfo.ml diff --git a/middle_end/debuginfo.mli b/lambda/debuginfo.mli similarity index 100% rename from middle_end/debuginfo.mli rename to lambda/debuginfo.mli diff --git a/lambda/dune b/lambda/dune new file mode 100644 index 000000000..034cdc3bd --- /dev/null +++ b/lambda/dune @@ -0,0 +1,21 @@ +;************************************************************************** +;* * +;* OCaml * +;* * +;* Thomas Refis, Jane Street Europe * +;* * +;* Copyright 2018 Jane Street Group LLC * +;* * +;* All rights reserved. This file is distributed under the terms of * +;* the GNU Lesser General Public License version 2.1, with the * +;* special exception on linking described in the file LICENSE. * +;* * +;************************************************************************** + +(rule + (targets runtimedef.ml) + (mode fallback) + (deps (:fail (file ../runtime/caml/fail.h)) + (:prim (file ../runtime/primitives))) + (action (with-stdout-to %{targets} + (run ./generate_runtimedef.sh %{fail} %{prim})))) diff --git a/bytecomp/generate_runtimedef.sh b/lambda/generate_runtimedef.sh similarity index 100% rename from bytecomp/generate_runtimedef.sh rename to lambda/generate_runtimedef.sh diff --git a/bytecomp/lambda.ml b/lambda/lambda.ml similarity index 100% rename from bytecomp/lambda.ml rename to lambda/lambda.ml diff --git a/bytecomp/lambda.mli b/lambda/lambda.mli similarity index 100% rename from bytecomp/lambda.mli rename to lambda/lambda.mli diff --git a/bytecomp/matching.ml b/lambda/matching.ml similarity index 100% rename from bytecomp/matching.ml rename to lambda/matching.ml diff --git a/bytecomp/matching.mli b/lambda/matching.mli similarity index 100% rename from bytecomp/matching.mli rename to lambda/matching.mli diff --git a/bytecomp/printlambda.ml b/lambda/printlambda.ml similarity index 100% rename from bytecomp/printlambda.ml rename to lambda/printlambda.ml diff --git a/bytecomp/printlambda.mli b/lambda/printlambda.mli similarity index 100% rename from bytecomp/printlambda.mli rename to lambda/printlambda.mli diff --git a/bytecomp/runtimedef.mli b/lambda/runtimedef.mli similarity index 100% rename from bytecomp/runtimedef.mli rename to lambda/runtimedef.mli diff --git a/bytecomp/simplif.ml b/lambda/simplif.ml similarity index 100% rename from bytecomp/simplif.ml rename to lambda/simplif.ml diff --git a/bytecomp/simplif.mli b/lambda/simplif.mli similarity index 100% rename from bytecomp/simplif.mli rename to lambda/simplif.mli diff --git a/bytecomp/switch.ml b/lambda/switch.ml similarity index 100% rename from bytecomp/switch.ml rename to lambda/switch.ml diff --git a/bytecomp/switch.mli b/lambda/switch.mli similarity index 100% rename from bytecomp/switch.mli rename to lambda/switch.mli diff --git a/bytecomp/translattribute.ml b/lambda/translattribute.ml similarity index 100% rename from bytecomp/translattribute.ml rename to lambda/translattribute.ml diff --git a/bytecomp/translattribute.mli b/lambda/translattribute.mli similarity index 100% rename from bytecomp/translattribute.mli rename to lambda/translattribute.mli diff --git a/bytecomp/translclass.ml b/lambda/translclass.ml similarity index 100% rename from bytecomp/translclass.ml rename to lambda/translclass.ml diff --git a/bytecomp/translclass.mli b/lambda/translclass.mli similarity index 100% rename from bytecomp/translclass.mli rename to lambda/translclass.mli diff --git a/bytecomp/translcore.ml b/lambda/translcore.ml similarity index 100% rename from bytecomp/translcore.ml rename to lambda/translcore.ml diff --git a/bytecomp/translcore.mli b/lambda/translcore.mli similarity index 100% rename from bytecomp/translcore.mli rename to lambda/translcore.mli diff --git a/bytecomp/translmod.ml b/lambda/translmod.ml similarity index 100% rename from bytecomp/translmod.ml rename to lambda/translmod.ml diff --git a/bytecomp/translmod.mli b/lambda/translmod.mli similarity index 100% rename from bytecomp/translmod.mli rename to lambda/translmod.mli diff --git a/bytecomp/translobj.ml b/lambda/translobj.ml similarity index 100% rename from bytecomp/translobj.ml rename to lambda/translobj.ml diff --git a/bytecomp/translobj.mli b/lambda/translobj.mli similarity index 100% rename from bytecomp/translobj.mli rename to lambda/translobj.mli diff --git a/bytecomp/translprim.ml b/lambda/translprim.ml similarity index 100% rename from bytecomp/translprim.ml rename to lambda/translprim.ml diff --git a/bytecomp/translprim.mli b/lambda/translprim.mli similarity index 100% rename from bytecomp/translprim.mli rename to lambda/translprim.mli diff --git a/asmcomp/backend_var.ml b/middle_end/backend_var.ml similarity index 100% rename from asmcomp/backend_var.ml rename to middle_end/backend_var.ml diff --git a/asmcomp/backend_var.mli b/middle_end/backend_var.mli similarity index 100% rename from asmcomp/backend_var.mli rename to middle_end/backend_var.mli diff --git a/asmcomp/clambda.ml b/middle_end/clambda.ml similarity index 100% rename from asmcomp/clambda.ml rename to middle_end/clambda.ml diff --git a/asmcomp/clambda.mli b/middle_end/clambda.mli similarity index 100% rename from asmcomp/clambda.mli rename to middle_end/clambda.mli diff --git a/asmcomp/clambda_primitives.ml b/middle_end/clambda_primitives.ml similarity index 100% rename from asmcomp/clambda_primitives.ml rename to middle_end/clambda_primitives.ml diff --git a/asmcomp/clambda_primitives.mli b/middle_end/clambda_primitives.mli similarity index 100% rename from asmcomp/clambda_primitives.mli rename to middle_end/clambda_primitives.mli diff --git a/asmcomp/closure.ml b/middle_end/closure/closure.ml similarity index 87% rename from asmcomp/closure.ml rename to middle_end/closure/closure.ml index 21708f936..20767f623 100644 --- a/asmcomp/closure.ml +++ b/middle_end/closure/closure.ml @@ -36,6 +36,8 @@ module Storer = module V = Backend_var module VP = Backend_var.With_provenance +(* The current backend *) + let no_phantom_lets () = Misc.fatal_error "Closure does not support phantom let generation" @@ -271,7 +273,8 @@ let make_const_int64 n = make_const_ref (Uconst_int64 n) (* The [fpc] parameter is true if constant propagation of floating-point computations is allowed *) -let simplif_arith_prim_pure fpc p (args, approxs) dbg = +let simplif_arith_prim_pure ~backend fpc p (args, approxs) dbg = + let module B = (val backend : Backend_intf.S) in let open Clambda_primitives in let default = (Uprim(p, args, dbg), Value_unknown) in match approxs with @@ -303,11 +306,11 @@ let simplif_arith_prim_pure fpc p (args, approxs) dbg = | Pandint -> make_const_int (n1 land n2) | Porint -> make_const_int (n1 lor n2) | Pxorint -> make_const_int (n1 lxor n2) - | Plslint when 0 <= n2 && n2 < 8 * Arch.size_int -> + | Plslint when 0 <= n2 && n2 < 8 * B.size_int -> make_const_int (n1 lsl n2) - | Plsrint when 0 <= n2 && n2 < 8 * Arch.size_int -> + | Plsrint when 0 <= n2 && n2 < 8 * B.size_int -> make_const_int (n1 lsr n2) - | Pasrint when 0 <= n2 && n2 < 8 * Arch.size_int -> + | Pasrint when 0 <= n2 && n2 < 8 * B.size_int -> make_const_int (n1 asr n2) | Pintcomp c -> make_integer_comparison c n1 n2 | _ -> default @@ -361,11 +364,11 @@ let simplif_arith_prim_pure fpc p (args, approxs) dbg = | [Value_const(Uconst_ref(_, Some (Uconst_nativeint n1))); Value_const(Uconst_int n2)] -> begin match p with - | Plslbint Pnativeint when 0 <= n2 && n2 < 8 * Arch.size_int -> + | Plslbint Pnativeint when 0 <= n2 && n2 < 8 * B.size_int -> make_const_natint (Nativeint.shift_left n1 n2) - | Plsrbint Pnativeint when 0 <= n2 && n2 < 8 * Arch.size_int -> + | Plsrbint Pnativeint when 0 <= n2 && n2 < 8 * B.size_int -> make_const_natint (Nativeint.shift_right_logical n1 n2) - | Pasrbint Pnativeint when 0 <= n2 && n2 < 8 * Arch.size_int -> + | Pasrbint Pnativeint when 0 <= n2 && n2 < 8 * B.size_int -> make_const_natint (Nativeint.shift_right n1 n2) | _ -> default end @@ -457,7 +460,7 @@ let field_approx n = function Value_const (List.nth l n) | _ -> Value_unknown -let simplif_prim_pure fpc p (args, approxs) dbg = +let simplif_prim_pure ~backend fpc p (args, approxs) dbg = let open Clambda_primitives in match p, args, approxs with (* Block construction *) @@ -497,11 +500,11 @@ let simplif_prim_pure fpc p (args, approxs) dbg = end (* Catch-all *) | _ -> - simplif_arith_prim_pure fpc p (args, approxs) dbg + simplif_arith_prim_pure ~backend fpc p (args, approxs) dbg -let simplif_prim fpc p (args, approxs as args_approxs) dbg = +let simplif_prim ~backend fpc p (args, approxs as args_approxs) dbg = if List.for_all is_pure args - then simplif_prim_pure fpc p args_approxs dbg + then simplif_prim_pure ~backend fpc p args_approxs dbg else (* XXX : always return the same approxs as simplif_prim_pure? *) let approx = @@ -542,18 +545,18 @@ let subst_debuginfo loc dbg = else dbg -let rec substitute loc fpc sb rn ulam = +let rec substitute loc ((backend, fpc) as st) sb rn ulam = match ulam with Uvar v -> begin try V.Map.find v sb with Not_found -> ulam end | Uconst _ -> ulam | Udirect_apply(lbl, args, dbg) -> let dbg = subst_debuginfo loc dbg in - Udirect_apply(lbl, List.map (substitute loc fpc sb rn) args, dbg) + Udirect_apply(lbl, List.map (substitute loc st sb rn) args, dbg) | Ugeneric_apply(fn, args, dbg) -> let dbg = subst_debuginfo loc dbg in - Ugeneric_apply(substitute loc fpc sb rn fn, - List.map (substitute loc fpc sb rn) args, dbg) + Ugeneric_apply(substitute loc st sb rn fn, + List.map (substitute loc st sb rn) args, dbg) | Uclosure(defs, env) -> (* Question: should we rename function labels as well? Otherwise, there is a risk that function labels are not globally unique. @@ -563,12 +566,12 @@ let rec substitute loc fpc sb rn ulam = - When we substitute offsets for idents bound by let rec in [close], case [Lletrec], we discard the original let rec body and use only the substituted term. *) - Uclosure(defs, List.map (substitute loc fpc sb rn) env) - | Uoffset(u, ofs) -> Uoffset(substitute loc fpc sb rn u, ofs) + Uclosure(defs, List.map (substitute loc st sb rn) env) + | Uoffset(u, ofs) -> Uoffset(substitute loc st sb rn u, ofs) | Ulet(str, kind, id, u1, u2) -> let id' = VP.rename id in - Ulet(str, kind, id', substitute loc fpc sb rn u1, - substitute loc fpc + Ulet(str, kind, id', substitute loc st sb rn u1, + substitute loc st (V.Map.add (VP.var id) (Uvar (VP.var id')) sb) rn u2) | Uphantom_let _ -> no_phantom_lets () | Uletrec(bindings, body) -> @@ -583,17 +586,17 @@ let rec substitute loc fpc sb rn ulam = in Uletrec( List.map - (fun (_id, id', rhs) -> (id', substitute loc fpc sb' rn rhs)) + (fun (_id, id', rhs) -> (id', substitute loc st sb' rn rhs)) bindings1, - substitute loc fpc sb' rn body) + substitute loc st sb' rn body) | Uprim(p, args, dbg) -> - let sargs = List.map (substitute loc fpc sb rn) args in + let sargs = List.map (substitute loc st sb rn) args in let dbg = subst_debuginfo loc dbg in let (res, _) = - simplif_prim fpc p (sargs, List.map approx_ulam sargs) dbg in + simplif_prim ~backend fpc p (sargs, List.map approx_ulam sargs) dbg in res | Uswitch(arg, sw, dbg) -> - let sarg = substitute loc fpc sb rn arg in + let sarg = substitute loc st sb rn arg in let action = (* Unfortunately, we cannot easily deal with the case of a constructed block (makeblock) bound to a local @@ -609,22 +612,22 @@ let rec substitute loc fpc sb rn ulam = | _ -> None in begin match action with - | Some u -> substitute loc fpc sb rn u + | Some u -> substitute loc st sb rn u | None -> Uswitch(sarg, { sw with us_actions_consts = - Array.map (substitute loc fpc sb rn) sw.us_actions_consts; + Array.map (substitute loc st sb rn) sw.us_actions_consts; us_actions_blocks = - Array.map (substitute loc fpc sb rn) sw.us_actions_blocks; + Array.map (substitute loc st sb rn) sw.us_actions_blocks; }, dbg) end | Ustringswitch(arg,sw,d) -> Ustringswitch - (substitute loc fpc sb rn arg, - List.map (fun (s,act) -> s,substitute loc fpc sb rn act) sw, - Misc.may_map (substitute loc fpc sb rn) d) + (substitute loc st sb rn arg, + List.map (fun (s,act) -> s,substitute loc st sb rn act) sw, + Misc.may_map (substitute loc st sb rn) d) | Ustaticfail (nfail, args) -> let nfail = match rn with @@ -635,7 +638,7 @@ let rec substitute loc fpc sb rn ulam = fatal_errorf "Closure.split_list: invalid nfail (%d)" nfail end | None -> nfail in - Ustaticfail (nfail, List.map (substitute loc fpc sb rn) args) + Ustaticfail (nfail, List.map (substitute loc st sb rn) args) | Ucatch(nfail, ids, u1, u2) -> let nfail, rn = match rn with @@ -651,34 +654,34 @@ let rec substitute loc fpc sb rn ulam = ) ids ids' sb in - Ucatch(nfail, ids', substitute loc fpc sb rn u1, - substitute loc fpc sb' rn u2) + Ucatch(nfail, ids', substitute loc st sb rn u1, + substitute loc st sb' rn u2) | Utrywith(u1, id, u2) -> let id' = VP.rename id in - Utrywith(substitute loc fpc sb rn u1, id', - substitute loc fpc + Utrywith(substitute loc st sb rn u1, id', + substitute loc st (V.Map.add (VP.var id) (Uvar (VP.var id')) sb) rn u2) | Uifthenelse(u1, u2, u3) -> - begin match substitute loc fpc sb rn u1 with + begin match substitute loc st sb rn u1 with Uconst (Uconst_ptr n) -> if n <> 0 then - substitute loc fpc sb rn u2 + substitute loc st sb rn u2 else - substitute loc fpc sb rn u3 + substitute loc st sb rn u3 | Uprim(P.Pmakeblock _, _, _) -> - substitute loc fpc sb rn u2 + substitute loc st sb rn u2 | su1 -> - Uifthenelse(su1, substitute loc fpc sb rn u2, - substitute loc fpc sb rn u3) + Uifthenelse(su1, substitute loc st sb rn u2, + substitute loc st sb rn u3) end | Usequence(u1, u2) -> - Usequence(substitute loc fpc sb rn u1, substitute loc fpc sb rn u2) + Usequence(substitute loc st sb rn u1, substitute loc st sb rn u2) | Uwhile(u1, u2) -> - Uwhile(substitute loc fpc sb rn u1, substitute loc fpc sb rn u2) + Uwhile(substitute loc st sb rn u1, substitute loc st sb rn u2) | Ufor(id, u1, u2, dir, u3) -> let id' = VP.rename id in - Ufor(id', substitute loc fpc sb rn u1, substitute loc fpc sb rn u2, dir, - substitute loc fpc + Ufor(id', substitute loc st sb rn u1, substitute loc st sb rn u2, dir, + substitute loc st (V.Map.add (VP.var id) (Uvar (VP.var id')) sb) rn u3) | Uassign(id, u) -> let id' = @@ -686,11 +689,11 @@ let rec substitute loc fpc sb rn ulam = match V.Map.find id sb with Uvar i -> i | _ -> assert false with Not_found -> id in - Uassign(id', substitute loc fpc sb rn u) + Uassign(id', substitute loc st sb rn u) | Usend(k, u1, u2, ul, dbg) -> let dbg = subst_debuginfo loc dbg in - Usend(k, substitute loc fpc sb rn u1, substitute loc fpc sb rn u2, - List.map (substitute loc fpc sb rn) ul, dbg) + Usend(k, substitute loc st sb rn u1, substitute loc st sb rn u2, + List.map (substitute loc st sb rn) ul, dbg) | Uunreachable -> Uunreachable @@ -746,7 +749,7 @@ let warning_if_forced_inline ~loc ~attribute warning = (* Generate a direct application *) -let direct_apply fundesc ufunct uargs ~loc ~attribute = +let direct_apply ~backend fundesc ufunct uargs ~loc ~attribute = let app_args = if fundesc.fun_closed then uargs else uargs @ [ufunct] in let app = @@ -757,7 +760,8 @@ let direct_apply fundesc ufunct uargs ~loc ~attribute = "Function information unavailable"; Udirect_apply(fundesc.fun_label, app_args, dbg) | Some(params, body), _ -> - bind_params loc fundesc.fun_float_const_prop params app_args body + bind_params loc (backend, fundesc.fun_float_const_prop) params app_args + body in (* If ufunct can contain side-effects or function definitions, we must make sure that it is evaluated exactly once. @@ -818,7 +822,13 @@ let excessive_function_nesting_depth = 5 exception NotClosed -let close_approx_var fenv cenv id = +type env = { + backend : (module Backend_intf.S); + cenv : ulambda V.Map.t; + fenv : value_approximation V.Map.t; +} + +let close_approx_var { fenv; cenv } id = let approx = try V.Map.find id fenv with Not_found -> Value_unknown in match approx with Value_const c -> make_const c @@ -826,12 +836,14 @@ let close_approx_var fenv cenv id = let subst = try V.Map.find id cenv with Not_found -> Uvar id in (subst, approx) -let close_var fenv cenv id = - let (ulam, _app) = close_approx_var fenv cenv id in ulam +let close_var env id = + let (ulam, _app) = close_approx_var env id in ulam -let rec close fenv cenv = function - Lvar id -> - close_approx_var fenv cenv id +let rec close ({ backend; fenv; cenv } as env) lam = + let module B = (val backend : Backend_intf.S) in + match lam with + | Lvar id -> + close_approx_var env id | Lconst cst -> let str ?(shared = true) cst = let name = @@ -865,24 +877,24 @@ let rec close fenv cenv = function in make_const (transl cst) | Lfunction _ as funct -> - close_one_function fenv cenv (Ident.create_local "fun") funct + close_one_function env (Ident.create_local "fun") funct (* We convert [f a] to [let a' = a in let f' = f in fun b c -> f' a' b c] when fun_arity > nargs *) | Lapply{ap_func = funct; ap_args = args; ap_loc = loc; ap_inlined = attribute} -> let nargs = List.length args in - begin match (close fenv cenv funct, close_list fenv cenv args) with + begin match (close env funct, close_list env args) with ((ufunct, Value_closure(fundesc, approx_res)), [Uprim(P.Pmakeblock _, uargs, _)]) when List.length uargs = - fundesc.fun_arity -> let app = - direct_apply ~loc ~attribute fundesc ufunct uargs in + direct_apply ~backend ~loc ~attribute fundesc ufunct uargs in (app, strengthen_approx app approx_res) | ((ufunct, Value_closure(fundesc, approx_res)), uargs) when nargs = fundesc.fun_arity -> let app = - direct_apply ~loc ~attribute fundesc ufunct uargs in + direct_apply ~backend ~loc ~attribute fundesc ufunct uargs in (app, strengthen_approx app approx_res) | ((ufunct, (Value_closure(fundesc, _) as fapprox)), uargs) @@ -905,7 +917,7 @@ let rec close fenv cenv = function in let funct_var = V.create_local "funct" in let fenv = V.Map.add funct_var fapprox fenv in - let (new_fun, approx) = close fenv cenv + let (new_fun, approx) = close { backend; fenv; cenv } (Lfunction{ kind = Curried; return = Pgenval; @@ -935,7 +947,7 @@ let rec close fenv cenv = function let dbg = Debuginfo.from_location loc in warning_if_forced_inline ~loc ~attribute "Over-application"; let body = - Ugeneric_apply(direct_apply ~loc ~attribute + Ugeneric_apply(direct_apply ~backend ~loc ~attribute fundesc ufunct first_args, rem_args, dbg) in @@ -952,22 +964,24 @@ let rec close fenv cenv = function (Ugeneric_apply(ufunct, uargs, dbg), Value_unknown) end | Lsend(kind, met, obj, args, loc) -> - let (umet, _) = close fenv cenv met in - let (uobj, _) = close fenv cenv obj in + let (umet, _) = close env met in + let (uobj, _) = close env obj in let dbg = Debuginfo.from_location loc in - (Usend(kind, umet, uobj, close_list fenv cenv args, dbg), + (Usend(kind, umet, uobj, close_list env args, dbg), Value_unknown) | Llet(str, kind, id, lam, body) -> - let (ulam, alam) = close_named fenv cenv id lam in + let (ulam, alam) = close_named env id lam in begin match (str, alam) with (Variable, _) -> - let (ubody, abody) = close fenv cenv body in + let (ubody, abody) = close env body in (Ulet(Mutable, kind, VP.create id, ulam, ubody), abody) | (_, Value_const _) when str = Alias || is_pure ulam -> - close (V.Map.add id alam fenv) cenv body + close { backend; fenv = (V.Map.add id alam fenv); cenv } body | (_, _) -> - let (ubody, abody) = close (V.Map.add id alam fenv) cenv body in + let (ubody, abody) = + close { backend; fenv = (V.Map.add id alam fenv); cenv } body + in (Ulet(Immutable, kind, VP.create id, ulam, ubody), abody) end | Lletrec(defs, body) -> @@ -976,20 +990,21 @@ let rec close fenv cenv = function defs then begin (* Simple case: only function definitions *) - let (clos, infos) = close_functions fenv cenv defs in + let (clos, infos) = close_functions env defs in let clos_ident = V.create_local "clos" in let fenv_body = List.fold_right (fun (id, _pos, approx) fenv -> V.Map.add id approx fenv) infos fenv in - let (ubody, approx) = close fenv_body cenv body in + let (ubody, approx) = close { backend; fenv = fenv_body; cenv } body in let sb = List.fold_right (fun (id, pos, _approx) sb -> V.Map.add id (Uoffset(Uvar clos_ident, pos)) sb) infos V.Map.empty in (Ulet(Immutable, Pgenval, VP.create clos_ident, clos, - substitute Location.none !Clflags.float_const_prop sb None ubody), + substitute Location.none (backend, !Clflags.float_const_prop) sb + None ubody), approx) end else begin (* General case: recursive definition of values *) @@ -997,37 +1012,37 @@ let rec close fenv cenv = function [] -> ([], fenv) | (id, lam) :: rem -> let (udefs, fenv_body) = clos_defs rem in - let (ulam, approx) = close_named fenv cenv id lam in + let (ulam, approx) = close_named env id lam in ((VP.create id, ulam) :: udefs, V.Map.add id approx fenv_body) in let (udefs, fenv_body) = clos_defs defs in - let (ubody, approx) = close fenv_body cenv body in + let (ubody, approx) = close { backend; fenv = fenv_body; cenv } body in (Uletrec(udefs, ubody), approx) end (* Compile-time constants *) | Lprim(Pctconst c, [arg], _loc) -> let cst, approx = match c with - | Big_endian -> make_const_bool Arch.big_endian - | Word_size -> make_const_int (8*Arch.size_int) - | Int_size -> make_const_int (8*Arch.size_int - 1) - | Max_wosize -> make_const_int ((1 lsl ((8*Arch.size_int) - 10)) - 1 ) + | Big_endian -> make_const_bool B.big_endian + | Word_size -> make_const_int (8*B.size_int) + | Int_size -> make_const_int (8*B.size_int - 1) + | Max_wosize -> make_const_int ((1 lsl ((8*B.size_int) - 10)) - 1 ) | Ostype_unix -> make_const_bool (Sys.os_type = "Unix") | Ostype_win32 -> make_const_bool (Sys.os_type = "Win32") | Ostype_cygwin -> make_const_bool (Sys.os_type = "Cygwin") | Backend_type -> make_const_ptr 0 (* tag 0 is the same as Native here *) in - let arg, _approx = close fenv cenv arg in + let arg, _approx = close env arg in let id = Ident.create_local "dummy" in Ulet(Immutable, Pgenval, VP.create id, arg, cst), approx | Lprim(Pignore, [arg], _loc) -> let expr, approx = make_const_ptr 0 in - Usequence(fst (close fenv cenv arg), expr), approx + Usequence(fst (close env arg), expr), approx | Lprim((Pidentity | Pbytes_to_string | Pbytes_of_string), [arg], _loc) -> - close fenv cenv arg + close env arg | Lprim(Pdirapply,[funct;arg], loc) | Lprim(Prevapply,[arg;funct], loc) -> - close fenv cenv (Lapply{ap_should_be_tailcall=false; + close env (Lapply{ap_should_be_tailcall=false; ap_loc=loc; ap_func=funct; ap_args=[arg]; @@ -1038,19 +1053,19 @@ let rec close fenv cenv = function check_constant_result (getglobal dbg id) (Compilenv.global_approx id) | Lprim(Pfield n, [lam], loc) -> - let (ulam, approx) = close fenv cenv lam in + let (ulam, approx) = close env lam in let dbg = Debuginfo.from_location loc in check_constant_result (Uprim(P.Pfield n, [ulam], dbg)) (field_approx n approx) | Lprim(Psetfield(n, is_ptr, init), [Lprim(Pgetglobal id, [], _); lam], loc)-> - let (ulam, approx) = close fenv cenv lam in + let (ulam, approx) = close env lam in if approx <> Value_unknown then (!global_approx).(n) <- approx; let dbg = Debuginfo.from_location loc in (Uprim(P.Psetfield(n, is_ptr, init), [getglobal dbg id; ulam], dbg), Value_unknown) | Lprim(Praise k, [arg], loc) -> - let (ulam, _approx) = close fenv cenv arg in + let (ulam, _approx) = close env arg in let dbg = Debuginfo.from_location loc in (Uprim(P.Praise k, [ulam], dbg), Value_unknown) @@ -1058,15 +1073,15 @@ let rec close fenv cenv = function | Lprim(p, args, loc) -> let p = Convert_primitives.convert p in let dbg = Debuginfo.from_location loc in - simplif_prim !Clflags.float_const_prop - p (close_list_approx fenv cenv args) dbg + simplif_prim ~backend !Clflags.float_const_prop + p (close_list_approx env args) dbg | Lswitch(arg, sw, dbg) -> let fn fail = - let (uarg, _) = close fenv cenv arg in + let (uarg, _) = close env arg in let const_index, const_actions, fconst = - close_switch fenv cenv sw.sw_consts sw.sw_numconsts fail + close_switch env sw.sw_consts sw.sw_numconsts fail and block_index, block_actions, fblock = - close_switch fenv cenv sw.sw_blocks sw.sw_numblocks fail in + close_switch env sw.sw_blocks sw.sw_numblocks fail in let ulam = Uswitch (uarg, @@ -1088,88 +1103,88 @@ let rec close fenv cenv = function then let i = next_raise_count () in let ubody,_ = fn (Some (Lstaticraise (i,[]))) - and uhandler,_ = close fenv cenv lamfail in + and uhandler,_ = close env lamfail in Ucatch (i,[],ubody,uhandler),Value_unknown else fn fail end | Lstringswitch(arg,sw,d,_) -> - let uarg,_ = close fenv cenv arg in + let uarg,_ = close env arg in let usw = List.map (fun (s,act) -> - let uact,_ = close fenv cenv act in + let uact,_ = close env act in s,uact) sw in let ud = Misc.may_map (fun d -> - let ud,_ = close fenv cenv d in + let ud,_ = close env d in ud) d in Ustringswitch (uarg,usw,ud),Value_unknown | Lstaticraise (i, args) -> - (Ustaticfail (i, close_list fenv cenv args), Value_unknown) + (Ustaticfail (i, close_list env args), Value_unknown) | Lstaticcatch(body, (i, vars), handler) -> - let (ubody, _) = close fenv cenv body in - let (uhandler, _) = close fenv cenv handler in + let (ubody, _) = close env body in + let (uhandler, _) = close env handler in let vars = List.map (fun (var, k) -> VP.create var, k) vars in (Ucatch(i, vars, ubody, uhandler), Value_unknown) | Ltrywith(body, id, handler) -> - let (ubody, _) = close fenv cenv body in - let (uhandler, _) = close fenv cenv handler in + let (ubody, _) = close env body in + let (uhandler, _) = close env handler in (Utrywith(ubody, VP.create id, uhandler), Value_unknown) | Lifthenelse(arg, ifso, ifnot) -> - begin match close fenv cenv arg with + begin match close env arg with (uarg, Value_const (Uconst_ptr n)) -> sequence_constant_expr uarg - (close fenv cenv (if n = 0 then ifnot else ifso)) + (close env (if n = 0 then ifnot else ifso)) | (uarg, _ ) -> - let (uifso, _) = close fenv cenv ifso in - let (uifnot, _) = close fenv cenv ifnot in + let (uifso, _) = close env ifso in + let (uifnot, _) = close env ifnot in (Uifthenelse(uarg, uifso, uifnot), Value_unknown) end | Lsequence(lam1, lam2) -> - let (ulam1, _) = close fenv cenv lam1 in - let (ulam2, approx) = close fenv cenv lam2 in + let (ulam1, _) = close env lam1 in + let (ulam2, approx) = close env lam2 in (Usequence(ulam1, ulam2), approx) | Lwhile(cond, body) -> - let (ucond, _) = close fenv cenv cond in - let (ubody, _) = close fenv cenv body in + let (ucond, _) = close env cond in + let (ubody, _) = close env body in (Uwhile(ucond, ubody), Value_unknown) | Lfor(id, lo, hi, dir, body) -> - let (ulo, _) = close fenv cenv lo in - let (uhi, _) = close fenv cenv hi in - let (ubody, _) = close fenv cenv body in + let (ulo, _) = close env lo in + let (uhi, _) = close env hi in + let (ubody, _) = close env body in (Ufor(VP.create id, ulo, uhi, dir, ubody), Value_unknown) | Lassign(id, lam) -> - let (ulam, _) = close fenv cenv lam in + let (ulam, _) = close env lam in (Uassign(id, ulam), Value_unknown) | Levent(lam, _) -> - close fenv cenv lam + close env lam | Lifused _ -> assert false -and close_list fenv cenv = function +and close_list env = function [] -> [] | lam :: rem -> - let (ulam, _) = close fenv cenv lam in - ulam :: close_list fenv cenv rem + let (ulam, _) = close env lam in + ulam :: close_list env rem -and close_list_approx fenv cenv = function +and close_list_approx env = function [] -> ([], []) | lam :: rem -> - let (ulam, approx) = close fenv cenv lam in - let (ulams, approxs) = close_list_approx fenv cenv rem in + let (ulam, approx) = close env lam in + let (ulams, approxs) = close_list_approx env rem in (ulam :: ulams, approx :: approxs) -and close_named fenv cenv id = function +and close_named env id = function Lfunction _ as funct -> - close_one_function fenv cenv id funct + close_one_function env id funct | lam -> - close fenv cenv lam + close env lam (* Build a shared closure for a set of mutually recursive functions *) -and close_functions fenv cenv fun_defs = +and close_functions { backend; fenv; cenv } fun_defs = let fun_defs = List.flatten (List.map @@ -1240,7 +1255,9 @@ and close_functions fenv cenv fun_defs = (fun (id, _params, _return, _body, _fundesc, _dbg) pos env -> V.Map.add id (Uoffset(Uvar env_param, pos - env_pos)) env) uncurried_defs clos_offsets cenv_fv in - let (ubody, approx) = close fenv_rec cenv_body body in + let (ubody, approx) = + close { backend; fenv = fenv_rec; cenv = cenv_body } body + in if !useless_env && occurs_var env_param ubody then raise NotClosed; let fun_params = if !useless_env @@ -1311,18 +1328,18 @@ and close_functions fenv cenv fun_defs = with offsets and approximations. *) let (clos, infos) = List.split clos_info_list in let fv = if !useless_env then [] else fv in - (Uclosure(clos, List.map (close_var fenv cenv) fv), infos) + (Uclosure(clos, List.map (close_var { backend; fenv; cenv }) fv), infos) (* Same, for one non-recursive function *) -and close_one_function fenv cenv id funct = - match close_functions fenv cenv [id, funct] with +and close_one_function env id funct = + match close_functions env [id, funct] with | (clos, (i, _, approx) :: _) when id = i -> (clos, approx) | _ -> fatal_error "Closure.close_one_function" (* Close a switch *) -and close_switch fenv cenv cases num_keys default = +and close_switch env cases num_keys default = let ncases = List.length cases in let index = Array.make num_keys 0 and store = Storer.mk_store () in @@ -1349,10 +1366,10 @@ and close_switch fenv cenv cases num_keys default = Array.map (function | Single lam|Shared (Lstaticraise (_,[]) as lam) -> - let ulam,_ = close fenv cenv lam in + let ulam,_ = close env lam in ulam | Shared lam -> - let ulam,_ = close fenv cenv lam in + let ulam,_ = close env lam in let i = next_raise_count () in (* let string_of_lambda e = @@ -1436,12 +1453,14 @@ let reset () = (* The entry point *) -let intro size lam = +let intro ~backend ~size lam = reset (); let id = Compilenv.make_symbol None in global_approx := Array.init size (fun i -> Value_global_field (id, i)); Compilenv.set_global_approx(Value_tuple !global_approx); - let (ulam, _approx) = close V.Map.empty V.Map.empty lam in + let (ulam, _approx) = + close { backend; fenv = V.Map.empty; cenv = V.Map.empty } lam + in let opaque = !Clflags.opaque || Env.is_imported_opaque (Compilenv.current_unit_name ()) diff --git a/asmcomp/closure.mli b/middle_end/closure/closure.mli similarity index 92% rename from asmcomp/closure.mli rename to middle_end/closure/closure.mli index f930e0fe5..92c74732b 100644 --- a/asmcomp/closure.mli +++ b/middle_end/closure/closure.mli @@ -15,5 +15,10 @@ (* Introduction of closures, uncurrying, recognition of direct calls *) -val intro: int -> Lambda.lambda -> Clambda.ulambda +val intro + : backend:(module Backend_intf.S) + -> size:int + -> Lambda.lambda + -> Clambda.ulambda + val reset : unit -> unit diff --git a/middle_end/base_types/compilation_unit.ml b/middle_end/compilation_unit.ml similarity index 100% rename from middle_end/base_types/compilation_unit.ml rename to middle_end/compilation_unit.ml diff --git a/middle_end/base_types/compilation_unit.mli b/middle_end/compilation_unit.mli similarity index 100% rename from middle_end/base_types/compilation_unit.mli rename to middle_end/compilation_unit.mli diff --git a/asmcomp/compilenv.ml b/middle_end/compilenv.ml similarity index 100% rename from asmcomp/compilenv.ml rename to middle_end/compilenv.ml diff --git a/asmcomp/compilenv.mli b/middle_end/compilenv.mli similarity index 100% rename from asmcomp/compilenv.mli rename to middle_end/compilenv.mli diff --git a/asmcomp/convert_primitives.ml b/middle_end/convert_primitives.ml similarity index 100% rename from asmcomp/convert_primitives.ml rename to middle_end/convert_primitives.ml diff --git a/asmcomp/convert_primitives.mli b/middle_end/convert_primitives.mli similarity index 100% rename from asmcomp/convert_primitives.mli rename to middle_end/convert_primitives.mli diff --git a/middle_end/alias_analysis.ml b/middle_end/flambda/alias_analysis.ml similarity index 100% rename from middle_end/alias_analysis.ml rename to middle_end/flambda/alias_analysis.ml diff --git a/middle_end/alias_analysis.mli b/middle_end/flambda/alias_analysis.mli similarity index 100% rename from middle_end/alias_analysis.mli rename to middle_end/flambda/alias_analysis.mli diff --git a/middle_end/allocated_const.ml b/middle_end/flambda/allocated_const.ml similarity index 100% rename from middle_end/allocated_const.ml rename to middle_end/flambda/allocated_const.ml diff --git a/middle_end/allocated_const.mli b/middle_end/flambda/allocated_const.mli similarity index 100% rename from middle_end/allocated_const.mli rename to middle_end/flambda/allocated_const.mli diff --git a/middle_end/augment_specialised_args.ml b/middle_end/flambda/augment_specialised_args.ml similarity index 100% rename from middle_end/augment_specialised_args.ml rename to middle_end/flambda/augment_specialised_args.ml diff --git a/middle_end/augment_specialised_args.mli b/middle_end/flambda/augment_specialised_args.mli similarity index 100% rename from middle_end/augment_specialised_args.mli rename to middle_end/flambda/augment_specialised_args.mli diff --git a/middle_end/base_types/closure_element.ml b/middle_end/flambda/base_types/closure_element.ml similarity index 100% rename from middle_end/base_types/closure_element.ml rename to middle_end/flambda/base_types/closure_element.ml diff --git a/middle_end/base_types/closure_element.mli b/middle_end/flambda/base_types/closure_element.mli similarity index 100% rename from middle_end/base_types/closure_element.mli rename to middle_end/flambda/base_types/closure_element.mli diff --git a/middle_end/base_types/closure_id.ml b/middle_end/flambda/base_types/closure_id.ml similarity index 100% rename from middle_end/base_types/closure_id.ml rename to middle_end/flambda/base_types/closure_id.ml diff --git a/middle_end/base_types/closure_id.mli b/middle_end/flambda/base_types/closure_id.mli similarity index 100% rename from middle_end/base_types/closure_id.mli rename to middle_end/flambda/base_types/closure_id.mli diff --git a/middle_end/base_types/closure_origin.ml b/middle_end/flambda/base_types/closure_origin.ml similarity index 100% rename from middle_end/base_types/closure_origin.ml rename to middle_end/flambda/base_types/closure_origin.ml diff --git a/middle_end/base_types/closure_origin.mli b/middle_end/flambda/base_types/closure_origin.mli similarity index 100% rename from middle_end/base_types/closure_origin.mli rename to middle_end/flambda/base_types/closure_origin.mli diff --git a/middle_end/base_types/export_id.ml b/middle_end/flambda/base_types/export_id.ml similarity index 100% rename from middle_end/base_types/export_id.ml rename to middle_end/flambda/base_types/export_id.ml diff --git a/middle_end/base_types/export_id.mli b/middle_end/flambda/base_types/export_id.mli similarity index 100% rename from middle_end/base_types/export_id.mli rename to middle_end/flambda/base_types/export_id.mli diff --git a/middle_end/base_types/id_types.ml b/middle_end/flambda/base_types/id_types.ml similarity index 100% rename from middle_end/base_types/id_types.ml rename to middle_end/flambda/base_types/id_types.ml diff --git a/middle_end/base_types/id_types.mli b/middle_end/flambda/base_types/id_types.mli similarity index 100% rename from middle_end/base_types/id_types.mli rename to middle_end/flambda/base_types/id_types.mli diff --git a/middle_end/base_types/mutable_variable.ml b/middle_end/flambda/base_types/mutable_variable.ml similarity index 100% rename from middle_end/base_types/mutable_variable.ml rename to middle_end/flambda/base_types/mutable_variable.ml diff --git a/middle_end/base_types/mutable_variable.mli b/middle_end/flambda/base_types/mutable_variable.mli similarity index 100% rename from middle_end/base_types/mutable_variable.mli rename to middle_end/flambda/base_types/mutable_variable.mli diff --git a/middle_end/base_types/set_of_closures_id.ml b/middle_end/flambda/base_types/set_of_closures_id.ml similarity index 100% rename from middle_end/base_types/set_of_closures_id.ml rename to middle_end/flambda/base_types/set_of_closures_id.ml diff --git a/middle_end/base_types/set_of_closures_id.mli b/middle_end/flambda/base_types/set_of_closures_id.mli similarity index 100% rename from middle_end/base_types/set_of_closures_id.mli rename to middle_end/flambda/base_types/set_of_closures_id.mli diff --git a/middle_end/base_types/set_of_closures_origin.ml b/middle_end/flambda/base_types/set_of_closures_origin.ml similarity index 100% rename from middle_end/base_types/set_of_closures_origin.ml rename to middle_end/flambda/base_types/set_of_closures_origin.ml diff --git a/middle_end/base_types/set_of_closures_origin.mli b/middle_end/flambda/base_types/set_of_closures_origin.mli similarity index 100% rename from middle_end/base_types/set_of_closures_origin.mli rename to middle_end/flambda/base_types/set_of_closures_origin.mli diff --git a/middle_end/base_types/static_exception.ml b/middle_end/flambda/base_types/static_exception.ml similarity index 100% rename from middle_end/base_types/static_exception.ml rename to middle_end/flambda/base_types/static_exception.ml diff --git a/middle_end/base_types/static_exception.mli b/middle_end/flambda/base_types/static_exception.mli similarity index 100% rename from middle_end/base_types/static_exception.mli rename to middle_end/flambda/base_types/static_exception.mli diff --git a/middle_end/base_types/tag.ml b/middle_end/flambda/base_types/tag.ml similarity index 100% rename from middle_end/base_types/tag.ml rename to middle_end/flambda/base_types/tag.ml diff --git a/middle_end/base_types/tag.mli b/middle_end/flambda/base_types/tag.mli similarity index 100% rename from middle_end/base_types/tag.mli rename to middle_end/flambda/base_types/tag.mli diff --git a/middle_end/base_types/var_within_closure.ml b/middle_end/flambda/base_types/var_within_closure.ml similarity index 100% rename from middle_end/base_types/var_within_closure.ml rename to middle_end/flambda/base_types/var_within_closure.ml diff --git a/middle_end/base_types/var_within_closure.mli b/middle_end/flambda/base_types/var_within_closure.mli similarity index 100% rename from middle_end/base_types/var_within_closure.mli rename to middle_end/flambda/base_types/var_within_closure.mli diff --git a/asmcomp/build_export_info.ml b/middle_end/flambda/build_export_info.ml similarity index 100% rename from asmcomp/build_export_info.ml rename to middle_end/flambda/build_export_info.ml diff --git a/asmcomp/build_export_info.mli b/middle_end/flambda/build_export_info.mli similarity index 100% rename from asmcomp/build_export_info.mli rename to middle_end/flambda/build_export_info.mli diff --git a/middle_end/closure_conversion.ml b/middle_end/flambda/closure_conversion.ml similarity index 100% rename from middle_end/closure_conversion.ml rename to middle_end/flambda/closure_conversion.ml diff --git a/middle_end/closure_conversion.mli b/middle_end/flambda/closure_conversion.mli similarity index 100% rename from middle_end/closure_conversion.mli rename to middle_end/flambda/closure_conversion.mli diff --git a/middle_end/closure_conversion_aux.ml b/middle_end/flambda/closure_conversion_aux.ml similarity index 100% rename from middle_end/closure_conversion_aux.ml rename to middle_end/flambda/closure_conversion_aux.ml diff --git a/middle_end/closure_conversion_aux.mli b/middle_end/flambda/closure_conversion_aux.mli similarity index 100% rename from middle_end/closure_conversion_aux.mli rename to middle_end/flambda/closure_conversion_aux.mli diff --git a/asmcomp/closure_offsets.ml b/middle_end/flambda/closure_offsets.ml similarity index 100% rename from asmcomp/closure_offsets.ml rename to middle_end/flambda/closure_offsets.ml diff --git a/asmcomp/closure_offsets.mli b/middle_end/flambda/closure_offsets.mli similarity index 100% rename from asmcomp/closure_offsets.mli rename to middle_end/flambda/closure_offsets.mli diff --git a/middle_end/effect_analysis.ml b/middle_end/flambda/effect_analysis.ml similarity index 100% rename from middle_end/effect_analysis.ml rename to middle_end/flambda/effect_analysis.ml diff --git a/middle_end/effect_analysis.mli b/middle_end/flambda/effect_analysis.mli similarity index 100% rename from middle_end/effect_analysis.mli rename to middle_end/flambda/effect_analysis.mli diff --git a/asmcomp/export_info.ml b/middle_end/flambda/export_info.ml similarity index 100% rename from asmcomp/export_info.ml rename to middle_end/flambda/export_info.ml diff --git a/asmcomp/export_info.mli b/middle_end/flambda/export_info.mli similarity index 100% rename from asmcomp/export_info.mli rename to middle_end/flambda/export_info.mli diff --git a/asmcomp/export_info_for_pack.ml b/middle_end/flambda/export_info_for_pack.ml similarity index 100% rename from asmcomp/export_info_for_pack.ml rename to middle_end/flambda/export_info_for_pack.ml diff --git a/asmcomp/export_info_for_pack.mli b/middle_end/flambda/export_info_for_pack.mli similarity index 100% rename from asmcomp/export_info_for_pack.mli rename to middle_end/flambda/export_info_for_pack.mli diff --git a/middle_end/extract_projections.ml b/middle_end/flambda/extract_projections.ml similarity index 100% rename from middle_end/extract_projections.ml rename to middle_end/flambda/extract_projections.ml diff --git a/middle_end/extract_projections.mli b/middle_end/flambda/extract_projections.mli similarity index 100% rename from middle_end/extract_projections.mli rename to middle_end/flambda/extract_projections.mli diff --git a/middle_end/find_recursive_functions.ml b/middle_end/flambda/find_recursive_functions.ml similarity index 100% rename from middle_end/find_recursive_functions.ml rename to middle_end/flambda/find_recursive_functions.ml diff --git a/middle_end/find_recursive_functions.mli b/middle_end/flambda/find_recursive_functions.mli similarity index 100% rename from middle_end/find_recursive_functions.mli rename to middle_end/flambda/find_recursive_functions.mli diff --git a/middle_end/flambda.ml b/middle_end/flambda/flambda.ml similarity index 100% rename from middle_end/flambda.ml rename to middle_end/flambda/flambda.ml diff --git a/middle_end/flambda.mli b/middle_end/flambda/flambda.mli similarity index 100% rename from middle_end/flambda.mli rename to middle_end/flambda/flambda.mli diff --git a/middle_end/flambda_invariants.ml b/middle_end/flambda/flambda_invariants.ml similarity index 100% rename from middle_end/flambda_invariants.ml rename to middle_end/flambda/flambda_invariants.ml diff --git a/middle_end/flambda_invariants.mli b/middle_end/flambda/flambda_invariants.mli similarity index 100% rename from middle_end/flambda_invariants.mli rename to middle_end/flambda/flambda_invariants.mli diff --git a/middle_end/flambda_iterators.ml b/middle_end/flambda/flambda_iterators.ml similarity index 100% rename from middle_end/flambda_iterators.ml rename to middle_end/flambda/flambda_iterators.ml diff --git a/middle_end/flambda_iterators.mli b/middle_end/flambda/flambda_iterators.mli similarity index 100% rename from middle_end/flambda_iterators.mli rename to middle_end/flambda/flambda_iterators.mli diff --git a/middle_end/middle_end.ml b/middle_end/flambda/flambda_middle_end.ml similarity index 100% rename from middle_end/middle_end.ml rename to middle_end/flambda/flambda_middle_end.ml diff --git a/middle_end/middle_end.mli b/middle_end/flambda/flambda_middle_end.mli similarity index 100% rename from middle_end/middle_end.mli rename to middle_end/flambda/flambda_middle_end.mli diff --git a/asmcomp/flambda_to_clambda.ml b/middle_end/flambda/flambda_to_clambda.ml similarity index 100% rename from asmcomp/flambda_to_clambda.ml rename to middle_end/flambda/flambda_to_clambda.ml diff --git a/asmcomp/flambda_to_clambda.mli b/middle_end/flambda/flambda_to_clambda.mli similarity index 100% rename from asmcomp/flambda_to_clambda.mli rename to middle_end/flambda/flambda_to_clambda.mli diff --git a/middle_end/flambda_utils.ml b/middle_end/flambda/flambda_utils.ml similarity index 100% rename from middle_end/flambda_utils.ml rename to middle_end/flambda/flambda_utils.ml diff --git a/middle_end/flambda_utils.mli b/middle_end/flambda/flambda_utils.mli similarity index 100% rename from middle_end/flambda_utils.mli rename to middle_end/flambda/flambda_utils.mli diff --git a/middle_end/freshening.ml b/middle_end/flambda/freshening.ml similarity index 100% rename from middle_end/freshening.ml rename to middle_end/flambda/freshening.ml diff --git a/middle_end/freshening.mli b/middle_end/flambda/freshening.mli similarity index 100% rename from middle_end/freshening.mli rename to middle_end/flambda/freshening.mli diff --git a/asmcomp/import_approx.ml b/middle_end/flambda/import_approx.ml similarity index 100% rename from asmcomp/import_approx.ml rename to middle_end/flambda/import_approx.ml diff --git a/asmcomp/import_approx.mli b/middle_end/flambda/import_approx.mli similarity index 100% rename from asmcomp/import_approx.mli rename to middle_end/flambda/import_approx.mli diff --git a/middle_end/inconstant_idents.ml b/middle_end/flambda/inconstant_idents.ml similarity index 100% rename from middle_end/inconstant_idents.ml rename to middle_end/flambda/inconstant_idents.ml diff --git a/middle_end/inconstant_idents.mli b/middle_end/flambda/inconstant_idents.mli similarity index 100% rename from middle_end/inconstant_idents.mli rename to middle_end/flambda/inconstant_idents.mli diff --git a/middle_end/initialize_symbol_to_let_symbol.ml b/middle_end/flambda/initialize_symbol_to_let_symbol.ml similarity index 100% rename from middle_end/initialize_symbol_to_let_symbol.ml rename to middle_end/flambda/initialize_symbol_to_let_symbol.ml diff --git a/middle_end/initialize_symbol_to_let_symbol.mli b/middle_end/flambda/initialize_symbol_to_let_symbol.mli similarity index 100% rename from middle_end/initialize_symbol_to_let_symbol.mli rename to middle_end/flambda/initialize_symbol_to_let_symbol.mli diff --git a/middle_end/inline_and_simplify.ml b/middle_end/flambda/inline_and_simplify.ml similarity index 100% rename from middle_end/inline_and_simplify.ml rename to middle_end/flambda/inline_and_simplify.ml diff --git a/middle_end/inline_and_simplify.mli b/middle_end/flambda/inline_and_simplify.mli similarity index 100% rename from middle_end/inline_and_simplify.mli rename to middle_end/flambda/inline_and_simplify.mli diff --git a/middle_end/inline_and_simplify_aux.ml b/middle_end/flambda/inline_and_simplify_aux.ml similarity index 100% rename from middle_end/inline_and_simplify_aux.ml rename to middle_end/flambda/inline_and_simplify_aux.ml diff --git a/middle_end/inline_and_simplify_aux.mli b/middle_end/flambda/inline_and_simplify_aux.mli similarity index 100% rename from middle_end/inline_and_simplify_aux.mli rename to middle_end/flambda/inline_and_simplify_aux.mli diff --git a/middle_end/inlining_cost.ml b/middle_end/flambda/inlining_cost.ml similarity index 100% rename from middle_end/inlining_cost.ml rename to middle_end/flambda/inlining_cost.ml diff --git a/middle_end/inlining_cost.mli b/middle_end/flambda/inlining_cost.mli similarity index 100% rename from middle_end/inlining_cost.mli rename to middle_end/flambda/inlining_cost.mli diff --git a/middle_end/inlining_decision.ml b/middle_end/flambda/inlining_decision.ml similarity index 100% rename from middle_end/inlining_decision.ml rename to middle_end/flambda/inlining_decision.ml diff --git a/middle_end/inlining_decision.mli b/middle_end/flambda/inlining_decision.mli similarity index 100% rename from middle_end/inlining_decision.mli rename to middle_end/flambda/inlining_decision.mli diff --git a/middle_end/inlining_decision_intf.mli b/middle_end/flambda/inlining_decision_intf.mli similarity index 100% rename from middle_end/inlining_decision_intf.mli rename to middle_end/flambda/inlining_decision_intf.mli diff --git a/middle_end/inlining_stats.ml b/middle_end/flambda/inlining_stats.ml similarity index 100% rename from middle_end/inlining_stats.ml rename to middle_end/flambda/inlining_stats.ml diff --git a/middle_end/inlining_stats.mli b/middle_end/flambda/inlining_stats.mli similarity index 100% rename from middle_end/inlining_stats.mli rename to middle_end/flambda/inlining_stats.mli diff --git a/middle_end/inlining_stats_types.ml b/middle_end/flambda/inlining_stats_types.ml similarity index 100% rename from middle_end/inlining_stats_types.ml rename to middle_end/flambda/inlining_stats_types.ml diff --git a/middle_end/inlining_stats_types.mli b/middle_end/flambda/inlining_stats_types.mli similarity index 100% rename from middle_end/inlining_stats_types.mli rename to middle_end/flambda/inlining_stats_types.mli diff --git a/middle_end/inlining_transforms.ml b/middle_end/flambda/inlining_transforms.ml similarity index 100% rename from middle_end/inlining_transforms.ml rename to middle_end/flambda/inlining_transforms.ml diff --git a/middle_end/inlining_transforms.mli b/middle_end/flambda/inlining_transforms.mli similarity index 100% rename from middle_end/inlining_transforms.mli rename to middle_end/flambda/inlining_transforms.mli diff --git a/middle_end/invariant_params.ml b/middle_end/flambda/invariant_params.ml similarity index 100% rename from middle_end/invariant_params.ml rename to middle_end/flambda/invariant_params.ml diff --git a/middle_end/invariant_params.mli b/middle_end/flambda/invariant_params.mli similarity index 100% rename from middle_end/invariant_params.mli rename to middle_end/flambda/invariant_params.mli diff --git a/middle_end/lift_code.ml b/middle_end/flambda/lift_code.ml similarity index 100% rename from middle_end/lift_code.ml rename to middle_end/flambda/lift_code.ml diff --git a/middle_end/lift_code.mli b/middle_end/flambda/lift_code.mli similarity index 100% rename from middle_end/lift_code.mli rename to middle_end/flambda/lift_code.mli diff --git a/middle_end/lift_constants.ml b/middle_end/flambda/lift_constants.ml similarity index 100% rename from middle_end/lift_constants.ml rename to middle_end/flambda/lift_constants.ml diff --git a/middle_end/lift_constants.mli b/middle_end/flambda/lift_constants.mli similarity index 100% rename from middle_end/lift_constants.mli rename to middle_end/flambda/lift_constants.mli diff --git a/middle_end/lift_let_to_initialize_symbol.ml b/middle_end/flambda/lift_let_to_initialize_symbol.ml similarity index 100% rename from middle_end/lift_let_to_initialize_symbol.ml rename to middle_end/flambda/lift_let_to_initialize_symbol.ml diff --git a/middle_end/lift_let_to_initialize_symbol.mli b/middle_end/flambda/lift_let_to_initialize_symbol.mli similarity index 100% rename from middle_end/lift_let_to_initialize_symbol.mli rename to middle_end/flambda/lift_let_to_initialize_symbol.mli diff --git a/middle_end/parameter.ml b/middle_end/flambda/parameter.ml similarity index 100% rename from middle_end/parameter.ml rename to middle_end/flambda/parameter.ml diff --git a/middle_end/parameter.mli b/middle_end/flambda/parameter.mli similarity index 100% rename from middle_end/parameter.mli rename to middle_end/flambda/parameter.mli diff --git a/middle_end/pass_wrapper.ml b/middle_end/flambda/pass_wrapper.ml similarity index 100% rename from middle_end/pass_wrapper.ml rename to middle_end/flambda/pass_wrapper.ml diff --git a/middle_end/pass_wrapper.mli b/middle_end/flambda/pass_wrapper.mli similarity index 100% rename from middle_end/pass_wrapper.mli rename to middle_end/flambda/pass_wrapper.mli diff --git a/middle_end/projection.ml b/middle_end/flambda/projection.ml similarity index 100% rename from middle_end/projection.ml rename to middle_end/flambda/projection.ml diff --git a/middle_end/projection.mli b/middle_end/flambda/projection.mli similarity index 100% rename from middle_end/projection.mli rename to middle_end/flambda/projection.mli diff --git a/middle_end/ref_to_variables.ml b/middle_end/flambda/ref_to_variables.ml similarity index 100% rename from middle_end/ref_to_variables.ml rename to middle_end/flambda/ref_to_variables.ml diff --git a/middle_end/ref_to_variables.mli b/middle_end/flambda/ref_to_variables.mli similarity index 100% rename from middle_end/ref_to_variables.mli rename to middle_end/flambda/ref_to_variables.mli diff --git a/middle_end/remove_free_vars_equal_to_args.ml b/middle_end/flambda/remove_free_vars_equal_to_args.ml similarity index 100% rename from middle_end/remove_free_vars_equal_to_args.ml rename to middle_end/flambda/remove_free_vars_equal_to_args.ml diff --git a/middle_end/remove_free_vars_equal_to_args.mli b/middle_end/flambda/remove_free_vars_equal_to_args.mli similarity index 100% rename from middle_end/remove_free_vars_equal_to_args.mli rename to middle_end/flambda/remove_free_vars_equal_to_args.mli diff --git a/middle_end/remove_unused_arguments.ml b/middle_end/flambda/remove_unused_arguments.ml similarity index 100% rename from middle_end/remove_unused_arguments.ml rename to middle_end/flambda/remove_unused_arguments.ml diff --git a/middle_end/remove_unused_arguments.mli b/middle_end/flambda/remove_unused_arguments.mli similarity index 100% rename from middle_end/remove_unused_arguments.mli rename to middle_end/flambda/remove_unused_arguments.mli diff --git a/middle_end/remove_unused_closure_vars.ml b/middle_end/flambda/remove_unused_closure_vars.ml similarity index 100% rename from middle_end/remove_unused_closure_vars.ml rename to middle_end/flambda/remove_unused_closure_vars.ml diff --git a/middle_end/remove_unused_closure_vars.mli b/middle_end/flambda/remove_unused_closure_vars.mli similarity index 100% rename from middle_end/remove_unused_closure_vars.mli rename to middle_end/flambda/remove_unused_closure_vars.mli diff --git a/middle_end/remove_unused_program_constructs.ml b/middle_end/flambda/remove_unused_program_constructs.ml similarity index 100% rename from middle_end/remove_unused_program_constructs.ml rename to middle_end/flambda/remove_unused_program_constructs.ml diff --git a/middle_end/remove_unused_program_constructs.mli b/middle_end/flambda/remove_unused_program_constructs.mli similarity index 100% rename from middle_end/remove_unused_program_constructs.mli rename to middle_end/flambda/remove_unused_program_constructs.mli diff --git a/middle_end/share_constants.ml b/middle_end/flambda/share_constants.ml similarity index 100% rename from middle_end/share_constants.ml rename to middle_end/flambda/share_constants.ml diff --git a/middle_end/share_constants.mli b/middle_end/flambda/share_constants.mli similarity index 100% rename from middle_end/share_constants.mli rename to middle_end/flambda/share_constants.mli diff --git a/middle_end/simple_value_approx.ml b/middle_end/flambda/simple_value_approx.ml similarity index 100% rename from middle_end/simple_value_approx.ml rename to middle_end/flambda/simple_value_approx.ml diff --git a/middle_end/simple_value_approx.mli b/middle_end/flambda/simple_value_approx.mli similarity index 100% rename from middle_end/simple_value_approx.mli rename to middle_end/flambda/simple_value_approx.mli diff --git a/middle_end/simplify_boxed_integer_ops.ml b/middle_end/flambda/simplify_boxed_integer_ops.ml similarity index 100% rename from middle_end/simplify_boxed_integer_ops.ml rename to middle_end/flambda/simplify_boxed_integer_ops.ml diff --git a/middle_end/simplify_boxed_integer_ops.mli b/middle_end/flambda/simplify_boxed_integer_ops.mli similarity index 100% rename from middle_end/simplify_boxed_integer_ops.mli rename to middle_end/flambda/simplify_boxed_integer_ops.mli diff --git a/middle_end/simplify_boxed_integer_ops_intf.mli b/middle_end/flambda/simplify_boxed_integer_ops_intf.mli similarity index 100% rename from middle_end/simplify_boxed_integer_ops_intf.mli rename to middle_end/flambda/simplify_boxed_integer_ops_intf.mli diff --git a/middle_end/simplify_common.ml b/middle_end/flambda/simplify_common.ml similarity index 100% rename from middle_end/simplify_common.ml rename to middle_end/flambda/simplify_common.ml diff --git a/middle_end/simplify_common.mli b/middle_end/flambda/simplify_common.mli similarity index 100% rename from middle_end/simplify_common.mli rename to middle_end/flambda/simplify_common.mli diff --git a/middle_end/simplify_primitives.ml b/middle_end/flambda/simplify_primitives.ml similarity index 100% rename from middle_end/simplify_primitives.ml rename to middle_end/flambda/simplify_primitives.ml diff --git a/middle_end/simplify_primitives.mli b/middle_end/flambda/simplify_primitives.mli similarity index 100% rename from middle_end/simplify_primitives.mli rename to middle_end/flambda/simplify_primitives.mli diff --git a/asmcomp/traverse_for_exported_symbols.ml b/middle_end/flambda/traverse_for_exported_symbols.ml similarity index 100% rename from asmcomp/traverse_for_exported_symbols.ml rename to middle_end/flambda/traverse_for_exported_symbols.ml diff --git a/asmcomp/traverse_for_exported_symbols.mli b/middle_end/flambda/traverse_for_exported_symbols.mli similarity index 100% rename from asmcomp/traverse_for_exported_symbols.mli rename to middle_end/flambda/traverse_for_exported_symbols.mli diff --git a/asmcomp/un_anf.ml b/middle_end/flambda/un_anf.ml similarity index 100% rename from asmcomp/un_anf.ml rename to middle_end/flambda/un_anf.ml diff --git a/asmcomp/un_anf.mli b/middle_end/flambda/un_anf.mli similarity index 100% rename from asmcomp/un_anf.mli rename to middle_end/flambda/un_anf.mli diff --git a/middle_end/unbox_closures.ml b/middle_end/flambda/unbox_closures.ml similarity index 100% rename from middle_end/unbox_closures.ml rename to middle_end/flambda/unbox_closures.ml diff --git a/middle_end/unbox_closures.mli b/middle_end/flambda/unbox_closures.mli similarity index 100% rename from middle_end/unbox_closures.mli rename to middle_end/flambda/unbox_closures.mli diff --git a/middle_end/unbox_free_vars_of_closures.ml b/middle_end/flambda/unbox_free_vars_of_closures.ml similarity index 100% rename from middle_end/unbox_free_vars_of_closures.ml rename to middle_end/flambda/unbox_free_vars_of_closures.ml diff --git a/middle_end/unbox_free_vars_of_closures.mli b/middle_end/flambda/unbox_free_vars_of_closures.mli similarity index 100% rename from middle_end/unbox_free_vars_of_closures.mli rename to middle_end/flambda/unbox_free_vars_of_closures.mli diff --git a/middle_end/unbox_specialised_args.ml b/middle_end/flambda/unbox_specialised_args.ml similarity index 100% rename from middle_end/unbox_specialised_args.ml rename to middle_end/flambda/unbox_specialised_args.ml diff --git a/middle_end/unbox_specialised_args.mli b/middle_end/flambda/unbox_specialised_args.mli similarity index 100% rename from middle_end/unbox_specialised_args.mli rename to middle_end/flambda/unbox_specialised_args.mli diff --git a/middle_end/base_types/linkage_name.ml b/middle_end/linkage_name.ml similarity index 100% rename from middle_end/base_types/linkage_name.ml rename to middle_end/linkage_name.ml diff --git a/middle_end/base_types/linkage_name.mli b/middle_end/linkage_name.mli similarity index 100% rename from middle_end/base_types/linkage_name.mli rename to middle_end/linkage_name.mli diff --git a/asmcomp/printclambda.ml b/middle_end/printclambda.ml similarity index 100% rename from asmcomp/printclambda.ml rename to middle_end/printclambda.ml diff --git a/asmcomp/printclambda.mli b/middle_end/printclambda.mli similarity index 100% rename from asmcomp/printclambda.mli rename to middle_end/printclambda.mli diff --git a/asmcomp/printclambda_primitives.ml b/middle_end/printclambda_primitives.ml similarity index 100% rename from asmcomp/printclambda_primitives.ml rename to middle_end/printclambda_primitives.ml diff --git a/asmcomp/printclambda_primitives.mli b/middle_end/printclambda_primitives.mli similarity index 100% rename from asmcomp/printclambda_primitives.mli rename to middle_end/printclambda_primitives.mli diff --git a/asmcomp/semantics_of_primitives.ml b/middle_end/semantics_of_primitives.ml similarity index 100% rename from asmcomp/semantics_of_primitives.ml rename to middle_end/semantics_of_primitives.ml diff --git a/asmcomp/semantics_of_primitives.mli b/middle_end/semantics_of_primitives.mli similarity index 100% rename from asmcomp/semantics_of_primitives.mli rename to middle_end/semantics_of_primitives.mli diff --git a/middle_end/base_types/symbol.ml b/middle_end/symbol.ml similarity index 100% rename from middle_end/base_types/symbol.ml rename to middle_end/symbol.ml diff --git a/middle_end/base_types/symbol.mli b/middle_end/symbol.mli similarity index 100% rename from middle_end/base_types/symbol.mli rename to middle_end/symbol.mli diff --git a/middle_end/base_types/variable.ml b/middle_end/variable.ml similarity index 100% rename from middle_end/base_types/variable.ml rename to middle_end/variable.ml diff --git a/middle_end/base_types/variable.mli b/middle_end/variable.mli similarity index 100% rename from middle_end/base_types/variable.mli rename to middle_end/variable.mli diff --git a/ocamldoc/Makefile.docfiles b/ocamldoc/Makefile.docfiles index a3f668d5b..9b0274263 100644 --- a/ocamldoc/Makefile.docfiles +++ b/ocamldoc/Makefile.docfiles @@ -32,7 +32,7 @@ DOC_STDLIB_DIRS = stdlib \ otherlibs/$(UNIXLIB) otherlibs/dynlink \ otherlibs/systhreads -DOC_COMPILERLIBS_DIRS= parsing utils typing bytecomp driver +DOC_COMPILERLIBS_DIRS= parsing utils typing bytecomp driver file_formats lambda DOC_ALL_DIRS = $(DOC_COMPILERLIBS) $(DOC_STDLIB_DIRS) diff --git a/ocamltest/Makefile b/ocamltest/Makefile index c3b514801..64e8a3a00 100644 --- a/ocamltest/Makefile +++ b/ocamltest/Makefile @@ -168,7 +168,7 @@ bytecode_modules := $(o_files) $(cmo_files) native_modules := $(o_files) $(cmx_files) directories := $(addprefix $(ROOTDIR)/,utils bytecomp parsing stdlib \ - compilerlibs) + compilerlibs file_formats) include_directories := $(addprefix -I , $(directories)) diff --git a/ocamltest/ocaml_modifiers.ml b/ocamltest/ocaml_modifiers.ml index 071e35ec2..cfa4fbcf5 100644 --- a/ocamltest/ocaml_modifiers.ml +++ b/ocamltest/ocaml_modifiers.ml @@ -98,6 +98,7 @@ let systhreads = let compilerlibs_subdirs = [ "utils"; "parsing"; "toplevel"; "typing"; "bytecomp"; "compilerlibs"; + "file_formats"; "lambda"; ] let add_compiler_subdir subdir = diff --git a/otherlibs/dynlink/.depend b/otherlibs/dynlink/.depend index 0a3555b12..bbad58081 100644 --- a/otherlibs/dynlink/.depend +++ b/otherlibs/dynlink/.depend @@ -14,8 +14,7 @@ dynlink_common.cmi : \ dynlink_platform_intf.cmo : \ dynlink_types.cmi \ dynlink_platform_intf.cmi -dynlink_platform_intf.cmi : \ - dynlink_types.cmi +dynlink_platform_intf.cmi : dynlink_types.cmo : \ dynlink_types.cmi dynlink_types.cmi : diff --git a/otherlibs/dynlink/Makefile b/otherlibs/dynlink/Makefile index 39314dec1..f3c031e37 100644 --- a/otherlibs/dynlink/Makefile +++ b/otherlibs/dynlink/Makefile @@ -70,8 +70,8 @@ COMPILERLIBS_INTFS=\ parsing/asttypes.mli \ parsing/parsetree.mli \ typing/outcometree.mli \ - bytecomp/cmo_format.mli \ - asmcomp/cmxs_format.mli + file_formats/cmo_format.mli \ + file_formats/cmxs_format.mli # .ml files from compilerlibs that have corresponding .mli files. COMPILERLIBS_SOURCES=\ @@ -103,13 +103,13 @@ COMPILERLIBS_SOURCES=\ typing/subst.ml \ typing/predef.ml \ typing/datarepr.ml \ - typing/cmi_format.ml \ + file_formats/cmi_format.ml \ typing/persistent_env.ml \ typing/env.ml \ - bytecomp/lambda.ml \ + lambda/lambda.ml \ + lambda/runtimedef.ml \ bytecomp/instruct.ml \ bytecomp/opcodes.ml \ - bytecomp/runtimedef.ml \ bytecomp/bytesections.ml \ bytecomp/dll.ml \ bytecomp/meta.ml \ diff --git a/otherlibs/dynlink/dune b/otherlibs/dynlink/dune index f06f77646..32a84264a 100644 --- a/otherlibs/dynlink/dune +++ b/otherlibs/dynlink/dune @@ -12,17 +12,20 @@ ;* * ;************************************************************************** -(library - (name dynlink) - (wrapped false) - (modules dynlink dynlink_compilerlibs dynlink_common dynlink_types - dynlink_platform_intf) - ; the -33 is specific to the hackery done with dune. - (flags (:standard -nostdlib -w -33)) - (modules_without_implementation dynlink) - (libraries ocamlcommon stdlib)) - -(rule - (targets dynlink_compilerlibs.ml) - (action (write-file %{targets} - "(* empty because we are linking with ocamlcommon *)"))) +; mshinwell: Disabled: this needs to build in the same way as the +; Makefile does, with the [Dynlink_compilerlibs] pack. +; +; (library +; (name dynlink) +; (wrapped false) +; (modules dynlink dynlink_compilerlibs dynlink_common dynlink_types +; dynlink_platform_intf) +; ; the -33 is specific to the hackery done with dune. +; (flags (:standard -nostdlib -w -33)) +; (modules_without_implementation dynlink) +; (libraries ocamlcommon stdlib)) +; +; (rule +; (targets dynlink_compilerlibs.ml) +; (action (write-file %{targets} +; "(* empty because we are linking with ocamlcommon *)"))) diff --git a/testsuite/tools/Makefile b/testsuite/tools/Makefile index 9027bf619..6e6370d75 100644 --- a/testsuite/tools/Makefile +++ b/testsuite/tools/Makefile @@ -30,6 +30,7 @@ codegen_INCLUDES=\ -I $(OTOPDIR)/typing \ -I $(OTOPDIR)/middle_end \ -I $(OTOPDIR)/bytecomp \ + -I $(OTOPDIR)/lambda \ -I $(OTOPDIR)/asmcomp codegen_OTHEROBJECTS=\ diff --git a/tools/.depend b/tools/.depend index 52c8ff55c..0a471a1b4 100644 --- a/tools/.depend +++ b/tools/.depend @@ -54,7 +54,7 @@ cmt2annot.cmo : \ ../typing/ident.cmi \ ../typing/envaux.cmi \ ../typing/env.cmi \ - ../typing/cmt_format.cmi \ + ../file_formats/cmt_format.cmi \ ../parsing/asttypes.cmi \ ../typing/annot.cmi cmt2annot.cmx : \ @@ -71,7 +71,7 @@ cmt2annot.cmx : \ ../typing/ident.cmx \ ../typing/envaux.cmx \ ../typing/env.cmx \ - ../typing/cmt_format.cmx \ + ../file_formats/cmt_format.cmx \ ../parsing/asttypes.cmi \ ../typing/annot.cmi cvt_emit.cmo : @@ -81,11 +81,11 @@ dumpobj.cmo : \ opnames.cmo \ ../bytecomp/opcodes.cmi \ ../parsing/location.cmi \ - ../bytecomp/lambda.cmi \ + ../lambda/lambda.cmi \ ../bytecomp/instruct.cmi \ ../typing/ident.cmi \ ../utils/config.cmi \ - ../bytecomp/cmo_format.cmi \ + ../file_formats/cmo_format.cmi \ ../bytecomp/bytesections.cmi \ ../parsing/asttypes.cmi dumpobj.cmx : \ @@ -93,11 +93,11 @@ dumpobj.cmx : \ opnames.cmx \ ../bytecomp/opcodes.cmx \ ../parsing/location.cmx \ - ../bytecomp/lambda.cmx \ + ../lambda/lambda.cmx \ ../bytecomp/instruct.cmx \ ../typing/ident.cmx \ ../utils/config.cmx \ - ../bytecomp/cmo_format.cmi \ + ../file_formats/cmo_format.cmi \ ../bytecomp/bytesections.cmx \ ../parsing/asttypes.cmi eqparsetree.cmo : \ @@ -132,35 +132,35 @@ make_opcodes.cmo : make_opcodes.cmx : objinfo.cmo : \ ../bytecomp/symtable.cmi \ - ../middle_end/base_types/symbol.cmi \ - ../asmcomp/printclambda.cmi \ + ../middle_end/symbol.cmi \ + ../middle_end/printclambda.cmi \ ../utils/misc.cmi \ - ../middle_end/base_types/linkage_name.cmi \ + ../middle_end/linkage_name.cmi \ ../typing/ident.cmi \ - ../asmcomp/export_info.cmi \ + ../middle_end/flambda/export_info.cmi \ ../utils/config.cmi \ - ../middle_end/base_types/compilation_unit.cmi \ - ../asmcomp/cmxs_format.cmi \ - ../asmcomp/cmx_format.cmi \ - ../typing/cmt_format.cmi \ - ../bytecomp/cmo_format.cmi \ - ../typing/cmi_format.cmi \ + ../middle_end/compilation_unit.cmi \ + ../file_formats/cmxs_format.cmi \ + ../file_formats/cmx_format.cmi \ + ../file_formats/cmt_format.cmi \ + ../file_formats/cmo_format.cmi \ + ../file_formats/cmi_format.cmi \ ../bytecomp/bytesections.cmi objinfo.cmx : \ ../bytecomp/symtable.cmx \ - ../middle_end/base_types/symbol.cmx \ - ../asmcomp/printclambda.cmx \ + ../middle_end/symbol.cmx \ + ../middle_end/printclambda.cmx \ ../utils/misc.cmx \ - ../middle_end/base_types/linkage_name.cmx \ + ../middle_end/linkage_name.cmx \ ../typing/ident.cmx \ - ../asmcomp/export_info.cmx \ + ../middle_end/flambda/export_info.cmx \ ../utils/config.cmx \ - ../middle_end/base_types/compilation_unit.cmx \ - ../asmcomp/cmxs_format.cmi \ - ../asmcomp/cmx_format.cmi \ - ../typing/cmt_format.cmx \ - ../bytecomp/cmo_format.cmi \ - ../typing/cmi_format.cmx \ + ../middle_end/compilation_unit.cmx \ + ../file_formats/cmxs_format.cmi \ + ../file_formats/cmx_format.cmi \ + ../file_formats/cmt_format.cmx \ + ../file_formats/cmo_format.cmi \ + ../file_formats/cmi_format.cmx \ ../bytecomp/bytesections.cmx ocaml299to3.cmo : ocaml299to3.cmx : @@ -205,11 +205,11 @@ opnames.cmx : primreq.cmo : \ ../utils/misc.cmi \ ../utils/config.cmi \ - ../bytecomp/cmo_format.cmi + ../file_formats/cmo_format.cmi primreq.cmx : \ ../utils/misc.cmx \ ../utils/config.cmx \ - ../bytecomp/cmo_format.cmi + ../file_formats/cmo_format.cmi profiling.cmo : \ profiling.cmi profiling.cmx : \ @@ -218,13 +218,13 @@ profiling.cmi : read_cmt.cmo : \ ../parsing/location.cmi \ ../driver/compmisc.cmi \ - ../typing/cmt_format.cmi \ + ../file_formats/cmt_format.cmi \ cmt2annot.cmo \ ../utils/clflags.cmi read_cmt.cmx : \ ../parsing/location.cmx \ ../driver/compmisc.cmx \ - ../typing/cmt_format.cmx \ + ../file_formats/cmt_format.cmx \ cmt2annot.cmx \ ../utils/clflags.cmx scrapelabels.cmo : diff --git a/tools/Makefile b/tools/Makefile index b078df22f..afefc4d83 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -76,8 +76,10 @@ CAMLC = $(BOOT_OCAMLC) -g -nostdlib -I $(ROOTDIR)/boot \ -use-prims $(ROOTDIR)/runtime/primitives -I $(ROOTDIR) CAMLOPT = $(CAMLRUN) $(ROOTDIR)/ocamlopt -g -nostdlib -I $(ROOTDIR)/stdlib CAMLLEX = $(CAMLRUN) $(ROOTDIR)/boot/ocamllex -INCLUDES = $(addprefix -I $(ROOTDIR)/,utils parsing typing bytecomp asmcomp \ - middle_end middle_end/base_types driver toplevel) +INCLUDES = $(addprefix -I $(ROOTDIR)/,utils parsing typing bytecomp \ + middle_end middle_end/closure middle_end/flambda \ + middle_end/flambda/base_types driver toplevel \ + file_formats lambda) COMPFLAGS = -absname -w +a-4-9-41-42-44-45-48 -strict-sequence -warn-error A \ -safe-string -strict-formats -bin-annot $(INCLUDES) LINKFLAGS = $(INCLUDES) @@ -326,9 +328,6 @@ objinfo_helper$(EXE): objinfo_helper.c $(ROOTDIR)/runtime/caml/s.h OBJINFO=$(ROOTDIR)/compilerlibs/ocamlcommon.cma \ $(ROOTDIR)/compilerlibs/ocamlbytecomp.cma \ $(ROOTDIR)/compilerlibs/ocamlmiddleend.cma \ - $(ROOTDIR)/asmcomp/backend_var.cmo \ - $(ROOTDIR)/asmcomp/printclambda.cmo \ - $(ROOTDIR)/asmcomp/export_info.cmo \ objinfo.cmo $(call byte_and_opt,ocamlobjinfo,$(OBJINFO),objinfo_helper$(EXE)) @@ -347,9 +346,6 @@ $(call byte_and_opt,primreq,$(primreq),) LINTAPIDIFF=$(ROOTDIR)/compilerlibs/ocamlcommon.cmxa \ $(ROOTDIR)/compilerlibs/ocamlbytecomp.cmxa \ $(ROOTDIR)/compilerlibs/ocamlmiddleend.cmxa \ - $(ROOTDIR)/asmcomp/backend_var.cmx \ - $(ROOTDIR)/asmcomp/printclambda.cmx \ - $(ROOTDIR)/asmcomp/export_info.cmx \ $(ROOTDIR)/otherlibs/str/str.cmxa \ lintapidiff.cmx diff --git a/toplevel/opttoploop.ml b/toplevel/opttoploop.ml index 4c0f0ef62..0d1f73921 100644 --- a/toplevel/opttoploop.ml +++ b/toplevel/opttoploop.ml @@ -251,13 +251,13 @@ let load_lambda ppf ~module_ident ~required_globals lam size = let fn = Filename.chop_extension dll in if not Config.flambda then Asmgen.compile_implementation_clambda - ~toplevel:need_symbol fn ~ppf_dump:ppf + ~toplevel:need_symbol fn ~backend ~ppf_dump:ppf { Lambda.code=slam ; main_module_block_size=size; module_ident; required_globals } else Asmgen.compile_implementation_flambda ~required_globals ~backend ~toplevel:need_symbol fn ~ppf_dump:ppf - (Middle_end.middle_end ~ppf_dump:ppf ~prefixname:"" ~backend ~size + (Flambda_middle_end.middle_end ~ppf_dump:ppf ~prefixname:"" ~backend ~size ~module_ident ~module_initializer:slam ~filename:"toplevel"); Asmlink.call_linker_shared [fn ^ ext_obj] dll; Sys.remove (fn ^ ext_obj); diff --git a/middle_end/int_replace_polymorphic_compare.ml b/utils/int_replace_polymorphic_compare.ml similarity index 100% rename from middle_end/int_replace_polymorphic_compare.ml rename to utils/int_replace_polymorphic_compare.ml diff --git a/middle_end/int_replace_polymorphic_compare.mli b/utils/int_replace_polymorphic_compare.mli similarity index 100% rename from middle_end/int_replace_polymorphic_compare.mli rename to utils/int_replace_polymorphic_compare.mli