summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.depend894
-rw-r--r--.merlin6
-rw-r--r--Makefile20
-rw-r--r--Makefile.nt23
-rwxr-xr-xMakefile.shared69
-rw-r--r--asmrun/Makefile2
-rw-r--r--asmrun/Makefile.nt2
7 files changed, 942 insertions, 74 deletions
diff --git a/.depend b/.depend
index c755d77a44..0267f62bf4 100644
--- a/.depend
+++ b/.depend
@@ -678,11 +678,13 @@ asmcomp/asmlink.cmi : asmcomp/cmx_format.cmi
asmcomp/asmpackager.cmi : typing/env.cmi
asmcomp/branch_relaxation.cmi : asmcomp/linearize.cmi \
asmcomp/branch_relaxation_intf.cmo
-asmcomp/build_export_info.cmi : asmcomp/export_info.cmi
+asmcomp/build_export_info.cmi : middle_end/flambda.cmi \
+ asmcomp/export_info.cmi middle_end/backend_intf.cmi
asmcomp/clambda.cmi : bytecomp/lambda.cmi typing/ident.cmi \
bytecomp/debuginfo.cmi parsing/asttypes.cmi
asmcomp/closure.cmi : bytecomp/lambda.cmi asmcomp/clambda.cmi
-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/cmmgen.cmi : asmcomp/cmx_format.cmi asmcomp/cmm.cmi \
asmcomp/clambda.cmi
asmcomp/cmm.cmi : bytecomp/lambda.cmi typing/ident.cmi \
@@ -696,10 +698,20 @@ asmcomp/CSEgen.cmi : asmcomp/mach.cmi
asmcomp/deadcode.cmi : asmcomp/mach.cmi
asmcomp/emitaux.cmi : bytecomp/debuginfo.cmi
asmcomp/emit.cmi : asmcomp/linearize.cmi asmcomp/cmm.cmi
-asmcomp/export_info_for_pack.cmi : asmcomp/export_info.cmi
-asmcomp/export_info.cmi : typing/ident.cmi
-asmcomp/flambda_to_clambda.cmi : asmcomp/export_info.cmi asmcomp/clambda.cmi
-asmcomp/import_approx.cmi :
+asmcomp/export_info_for_pack.cmi : asmcomp/export_info.cmi \
+ middle_end/base_types/compilation_unit.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 typing/ident.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/flambda_to_clambda.cmi : middle_end/base_types/symbol.cmi \
+ middle_end/flambda.cmi asmcomp/export_info.cmi asmcomp/clambda.cmi
+asmcomp/import_approx.cmi : middle_end/base_types/symbol.cmi \
+ middle_end/simple_value_approx.cmi
asmcomp/interf.cmi : asmcomp/mach.cmi
asmcomp/linearize.cmi : asmcomp/reg.cmi asmcomp/mach.cmi bytecomp/lambda.cmi \
bytecomp/debuginfo.cmi
@@ -740,7 +752,7 @@ asmcomp/asmgen.cmo : bytecomp/translmod.cmi utils/timings.cmi \
asmcomp/emit.cmi asmcomp/deadcode.cmi utils/config.cmi \
asmcomp/compilenv.cmi asmcomp/comballoc.cmi asmcomp/coloring.cmi \
asmcomp/cmmgen.cmi asmcomp/cmm.cmi asmcomp/closure.cmi utils/clflags.cmi \
- asmcomp/CSE.cmo asmcomp/asmgen.cmi
+ asmcomp/clambda.cmi asmcomp/CSE.cmo asmcomp/asmgen.cmi
asmcomp/asmgen.cmx : bytecomp/translmod.cmx utils/timings.cmx \
asmcomp/split.cmx asmcomp/spill.cmx asmcomp/selection.cmx \
asmcomp/scheduling.cmx asmcomp/reload.cmx asmcomp/reg.cmx \
@@ -751,7 +763,7 @@ asmcomp/asmgen.cmx : bytecomp/translmod.cmx utils/timings.cmx \
asmcomp/emit.cmx asmcomp/deadcode.cmx utils/config.cmx \
asmcomp/compilenv.cmx asmcomp/comballoc.cmx asmcomp/coloring.cmx \
asmcomp/cmmgen.cmx asmcomp/cmm.cmx asmcomp/closure.cmx utils/clflags.cmx \
- asmcomp/CSE.cmx asmcomp/asmgen.cmi
+ asmcomp/clambda.cmx asmcomp/CSE.cmx asmcomp/asmgen.cmi
asmcomp/asmlibrarian.cmo : utils/misc.cmi parsing/location.cmi \
utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \
utils/clflags.cmi asmcomp/clambda.cmi utils/ccomp.cmi asmcomp/asmlink.cmi \
@@ -788,12 +800,26 @@ asmcomp/branch_relaxation.cmo : utils/misc.cmi asmcomp/mach.cmi \
asmcomp/branch_relaxation.cmx : utils/misc.cmx asmcomp/mach.cmx \
asmcomp/linearize.cmx asmcomp/cmm.cmx asmcomp/branch_relaxation_intf.cmx \
asmcomp/branch_relaxation.cmi
-asmcomp/build_export_info.cmo : utils/misc.cmi typing/ident.cmi \
- asmcomp/export_info.cmi asmcomp/compilenv.cmi utils/clflags.cmi \
- asmcomp/build_export_info.cmi
-asmcomp/build_export_info.cmx : utils/misc.cmx typing/ident.cmx \
- asmcomp/export_info.cmx asmcomp/compilenv.cmx utils/clflags.cmx \
- asmcomp/build_export_info.cmi
+asmcomp/build_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/base_types/set_of_closures_id.cmi utils/misc.cmi \
+ middle_end/invariant_params.cmi typing/ident.cmi \
+ middle_end/flambda_utils.cmi middle_end/flambda.cmi \
+ asmcomp/export_info.cmi middle_end/base_types/export_id.cmi \
+ asmcomp/compilenv.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 \
+ middle_end/base_types/tag.cmx middle_end/base_types/symbol.cmx \
+ middle_end/base_types/set_of_closures_id.cmx utils/misc.cmx \
+ middle_end/invariant_params.cmx typing/ident.cmx \
+ middle_end/flambda_utils.cmx middle_end/flambda.cmx \
+ asmcomp/export_info.cmx middle_end/base_types/export_id.cmx \
+ asmcomp/compilenv.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/clambda.cmo : bytecomp/lambda.cmi typing/ident.cmi \
bytecomp/debuginfo.cmi parsing/asttypes.cmi asmcomp/clambda.cmi
asmcomp/clambda.cmx : bytecomp/lambda.cmx typing/ident.cmx \
@@ -810,20 +836,30 @@ asmcomp/closure.cmx : utils/warnings.cmx utils/tbl.cmx bytecomp/switch.cmx \
bytecomp/debuginfo.cmx asmcomp/compilenv.cmx utils/clflags.cmx \
asmcomp/clambda.cmx parsing/asttypes.cmi asmcomp/arch.cmx \
asmcomp/closure.cmi
-asmcomp/closure_offsets.cmo : utils/misc.cmi asmcomp/closure_offsets.cmi
-asmcomp/closure_offsets.cmx : utils/misc.cmx asmcomp/closure_offsets.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_iterators.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_iterators.cmx \
+ middle_end/flambda.cmx middle_end/base_types/closure_id.cmx \
+ asmcomp/closure_offsets.cmi
asmcomp/cmmgen.cmo : typing/types.cmi bytecomp/switch.cmi \
- asmcomp/strmatch.cmi asmcomp/proc.cmi typing/primitive.cmi utils/misc.cmi \
- bytecomp/lambda.cmi typing/ident.cmi bytecomp/debuginfo.cmi \
- utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \
- asmcomp/cmm.cmi utils/clflags.cmi asmcomp/clambda.cmi \
- parsing/asttypes.cmi asmcomp/arch.cmo asmcomp/cmmgen.cmi
+ asmcomp/strmatch.cmi asmcomp/proc.cmi bytecomp/printlambda.cmi \
+ typing/primitive.cmi utils/misc.cmi bytecomp/lambda.cmi typing/ident.cmi \
+ bytecomp/debuginfo.cmi utils/config.cmi asmcomp/compilenv.cmi \
+ asmcomp/cmx_format.cmi asmcomp/cmm.cmi utils/clflags.cmi \
+ asmcomp/clambda.cmi parsing/asttypes.cmi asmcomp/arch.cmo \
+ asmcomp/cmmgen.cmi
asmcomp/cmmgen.cmx : typing/types.cmx bytecomp/switch.cmx \
- asmcomp/strmatch.cmx asmcomp/proc.cmx typing/primitive.cmx utils/misc.cmx \
- bytecomp/lambda.cmx typing/ident.cmx bytecomp/debuginfo.cmx \
- utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmx_format.cmi \
- asmcomp/cmm.cmx utils/clflags.cmx asmcomp/clambda.cmx \
- parsing/asttypes.cmi asmcomp/arch.cmx asmcomp/cmmgen.cmi
+ asmcomp/strmatch.cmx asmcomp/proc.cmx bytecomp/printlambda.cmx \
+ typing/primitive.cmx utils/misc.cmx bytecomp/lambda.cmx typing/ident.cmx \
+ bytecomp/debuginfo.cmx utils/config.cmx asmcomp/compilenv.cmx \
+ asmcomp/cmx_format.cmi asmcomp/cmm.cmx utils/clflags.cmx \
+ asmcomp/clambda.cmx parsing/asttypes.cmi asmcomp/arch.cmx \
+ asmcomp/cmmgen.cmi
asmcomp/cmm.cmo : bytecomp/lambda.cmi typing/ident.cmi \
bytecomp/debuginfo.cmi asmcomp/arch.cmo asmcomp/cmm.cmi
asmcomp/cmm.cmx : bytecomp/lambda.cmx typing/ident.cmx \
@@ -868,24 +904,80 @@ asmcomp/emit.cmx : asmcomp/x86_proc.cmx asmcomp/x86_masm.cmx \
bytecomp/debuginfo.cmx utils/config.cmx asmcomp/compilenv.cmx \
asmcomp/cmm.cmx utils/clflags.cmx asmcomp/branch_relaxation.cmx \
asmcomp/arch.cmx asmcomp/emit.cmi
-asmcomp/export_info_for_pack.cmo : utils/misc.cmi typing/ident.cmi \
- asmcomp/export_info.cmi asmcomp/export_info_for_pack.cmi
-asmcomp/export_info_for_pack.cmx : utils/misc.cmx typing/ident.cmx \
- asmcomp/export_info.cmx asmcomp/export_info_for_pack.cmi
-asmcomp/export_info.cmo : typing/ident.cmi asmcomp/export_info.cmi
-asmcomp/export_info.cmx : typing/ident.cmx asmcomp/export_info.cmi
-asmcomp/flambda_to_clambda.cmo : typing/primitive.cmi utils/numbers.cmi \
- utils/misc.cmi typing/ident.cmi asmcomp/export_info.cmi \
- bytecomp/debuginfo.cmi asmcomp/compilenv.cmi asmcomp/closure_offsets.cmi \
- utils/clflags.cmi asmcomp/clambda.cmi asmcomp/flambda_to_clambda.cmi
-asmcomp/flambda_to_clambda.cmx : typing/primitive.cmx utils/numbers.cmx \
- utils/misc.cmx typing/ident.cmx asmcomp/export_info.cmx \
- bytecomp/debuginfo.cmx asmcomp/compilenv.cmx asmcomp/closure_offsets.cmx \
- utils/clflags.cmx asmcomp/clambda.cmx asmcomp/flambda_to_clambda.cmi
-asmcomp/import_approx.cmo : utils/misc.cmi asmcomp/export_info.cmi \
- asmcomp/compilenv.cmi asmcomp/import_approx.cmi
-asmcomp/import_approx.cmx : utils/misc.cmx asmcomp/export_info.cmx \
- asmcomp/compilenv.cmx asmcomp/import_approx.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/base_types/set_of_closures_id.cmi utils/misc.cmi \
+ typing/ident.cmi middle_end/flambda_utils.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/base_types/set_of_closures_id.cmx utils/misc.cmx \
+ typing/ident.cmx middle_end/flambda_utils.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.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 typing/ident.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 typing/ident.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/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/base_types/set_of_closures_id.cmi typing/primitive.cmi \
+ utils/numbers.cmi middle_end/base_types/mutable_variable.cmi \
+ utils/misc.cmi middle_end/base_types/linkage_name.cmi typing/ident.cmi \
+ middle_end/flambda_utils.cmi middle_end/flambda.cmi \
+ asmcomp/export_info.cmi bytecomp/debuginfo.cmi asmcomp/compilenv.cmi \
+ asmcomp/closure_offsets.cmi middle_end/base_types/closure_id.cmi \
+ utils/clflags.cmi asmcomp/clambda.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/base_types/set_of_closures_id.cmx typing/primitive.cmx \
+ utils/numbers.cmx middle_end/base_types/mutable_variable.cmx \
+ utils/misc.cmx middle_end/base_types/linkage_name.cmx typing/ident.cmx \
+ middle_end/flambda_utils.cmx middle_end/flambda.cmx \
+ asmcomp/export_info.cmx bytecomp/debuginfo.cmx asmcomp/compilenv.cmx \
+ asmcomp/closure_offsets.cmx middle_end/base_types/closure_id.cmx \
+ utils/clflags.cmx asmcomp/clambda.cmx middle_end/allocated_const.cmx \
+ asmcomp/flambda_to_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/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/closure_id.cmx asmcomp/import_approx.cmi
asmcomp/interf.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \
asmcomp/interf.cmi
asmcomp/interf.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \
@@ -980,14 +1072,16 @@ asmcomp/strmatch.cmo : bytecomp/lambda.cmi typing/ident.cmi asmcomp/cmm.cmi \
asmcomp/arch.cmo asmcomp/strmatch.cmi
asmcomp/strmatch.cmx : bytecomp/lambda.cmx typing/ident.cmx asmcomp/cmm.cmx \
asmcomp/arch.cmx asmcomp/strmatch.cmi
-asmcomp/un_anf.cmo : asmcomp/printclambda.cmi utils/misc.cmi \
- bytecomp/lambda.cmi typing/ident.cmi bytecomp/debuginfo.cmi \
- utils/config.cmi utils/clflags.cmi asmcomp/clambda.cmi \
- parsing/asttypes.cmi asmcomp/un_anf.cmi
-asmcomp/un_anf.cmx : asmcomp/printclambda.cmx utils/misc.cmx \
- bytecomp/lambda.cmx typing/ident.cmx bytecomp/debuginfo.cmx \
- utils/config.cmx utils/clflags.cmx asmcomp/clambda.cmx \
- parsing/asttypes.cmi asmcomp/un_anf.cmi
+asmcomp/un_anf.cmo : middle_end/semantics_of_primitives.cmi \
+ asmcomp/printclambda.cmi utils/misc.cmi bytecomp/lambda.cmi \
+ typing/ident.cmi bytecomp/debuginfo.cmi utils/config.cmi \
+ utils/clflags.cmi asmcomp/clambda.cmi parsing/asttypes.cmi \
+ asmcomp/un_anf.cmi
+asmcomp/un_anf.cmx : middle_end/semantics_of_primitives.cmx \
+ asmcomp/printclambda.cmx utils/misc.cmx bytecomp/lambda.cmx \
+ typing/ident.cmx bytecomp/debuginfo.cmx utils/config.cmx \
+ utils/clflags.cmx asmcomp/clambda.cmx parsing/asttypes.cmi \
+ asmcomp/un_anf.cmi
asmcomp/x86_dsl.cmo : asmcomp/x86_proc.cmi asmcomp/x86_ast.cmi \
asmcomp/x86_dsl.cmi
asmcomp/x86_dsl.cmx : asmcomp/x86_proc.cmx asmcomp/x86_ast.cmi \
@@ -1004,6 +1098,702 @@ asmcomp/x86_proc.cmo : asmcomp/x86_ast.cmi utils/config.cmi \
utils/clflags.cmi utils/ccomp.cmi asmcomp/x86_proc.cmi
asmcomp/x86_proc.cmx : asmcomp/x86_ast.cmi utils/config.cmx \
utils/clflags.cmx utils/ccomp.cmx asmcomp/x86_proc.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.cmi :
+middle_end/augment_closures.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 typing/ident.cmi \
+ middle_end/base_types/closure_id.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 bytecomp/lambda.cmi \
+ typing/ident.cmi
+middle_end/closure_conversion.cmi : bytecomp/lambda.cmi typing/ident.cmi \
+ middle_end/flambda.cmi middle_end/backend_intf.cmi
+middle_end/effect_analysis.cmi : middle_end/flambda.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_invariants.cmi : middle_end/flambda.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.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/static_exception.cmi \
+ middle_end/base_types/set_of_closures_id.cmi utils/numbers.cmi \
+ middle_end/base_types/mutable_variable.cmi bytecomp/lambda.cmi \
+ utils/identifiable.cmi bytecomp/debuginfo.cmi \
+ middle_end/base_types/closure_id.cmi parsing/asttypes.cmi \
+ middle_end/allocated_const.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/flambda.cmi \
+ middle_end/base_types/closure_id.cmi middle_end/backend_intf.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.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.cmi : middle_end/flambda.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_id.cmi \
+ middle_end/base_types/mutable_variable.cmi \
+ middle_end/inlining_stats_types.cmi middle_end/inlining_cost.cmi \
+ middle_end/freshening.cmi bytecomp/debuginfo.cmi \
+ middle_end/base_types/closure_id.cmi middle_end/backend_intf.cmi
+middle_end/inline_and_simplify.cmi : middle_end/flambda.cmi \
+ middle_end/backend_intf.cmi
+middle_end/inlining_cost.cmi : middle_end/flambda.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 bytecomp/debuginfo.cmi \
+ middle_end/base_types/closure_id.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 \
+ bytecomp/debuginfo.cmi middle_end/base_types/closure_id.cmi
+middle_end/inlining_stats.cmi : middle_end/inlining_stats_types.cmi \
+ bytecomp/debuginfo.cmi middle_end/base_types/closure_id.cmi
+middle_end/inlining_stats_types.cmi : middle_end/inlining_cost.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 \
+ bytecomp/debuginfo.cmi middle_end/base_types/closure_id.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.cmi : middle_end/base_types/variable.cmi \
+ middle_end/flambda.cmi
+middle_end/lift_constants.cmi : middle_end/flambda.cmi \
+ middle_end/backend_intf.cmi
+middle_end/lift_let_to_initialize_symbol.cmi : middle_end/flambda.cmi \
+ middle_end/backend_intf.cmi
+middle_end/middle_end.cmi : utils/timings.cmi bytecomp/lambda.cmi \
+ typing/ident.cmi middle_end/flambda.cmi middle_end/backend_intf.cmi
+middle_end/ref_to_variables.cmi : middle_end/flambda.cmi
+middle_end/remove_unused_arguments.cmi : middle_end/flambda.cmi \
+ middle_end/backend_intf.cmi
+middle_end/remove_unused_closure_vars.cmi : middle_end/flambda.cmi
+middle_end/remove_unused_program_constructs.cmi : middle_end/flambda.cmi
+middle_end/semantics_of_primitives.cmi : bytecomp/lambda.cmi
+middle_end/share_constants.cmi : middle_end/flambda.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/freshening.cmi middle_end/flambda.cmi \
+ middle_end/base_types/export_id.cmi middle_end/base_types/closure_id.cmi
+middle_end/simplify_boxed_integer_ops_intf.cmi : \
+ middle_end/simple_value_approx.cmi bytecomp/lambda.cmi \
+ middle_end/inlining_cost.cmi middle_end/flambda.cmi
+middle_end/simplify_boxed_integer_ops.cmi : \
+ middle_end/simplify_boxed_integer_ops_intf.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.cmi : middle_end/base_types/variable.cmi \
+ middle_end/simple_value_approx.cmi bytecomp/lambda.cmi \
+ middle_end/inlining_cost.cmi middle_end/flambda.cmi \
+ bytecomp/debuginfo.cmi
+middle_end/unbox_closures.cmi : middle_end/base_types/variable.cmi \
+ middle_end/flambda.cmi middle_end/backend_intf.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/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/flambda.cmx \
+ parsing/asttypes.cmi middle_end/allocated_const.cmx \
+ middle_end/alias_analysis.cmi
+middle_end/allocated_const.cmo : middle_end/allocated_const.cmi
+middle_end/allocated_const.cmx : middle_end/allocated_const.cmi
+middle_end/augment_closures.cmo : middle_end/base_types/variable.cmi \
+ middle_end/base_types/var_within_closure.cmi \
+ middle_end/simple_value_approx.cmi utils/numbers.cmi \
+ middle_end/inline_and_simplify_aux.cmi utils/identifiable.cmi \
+ middle_end/freshening.cmi middle_end/flambda_utils.cmi \
+ middle_end/flambda_iterators.cmi middle_end/flambda.cmi \
+ bytecomp/debuginfo.cmi middle_end/base_types/closure_id.cmi \
+ utils/clflags.cmi middle_end/augment_closures.cmi
+middle_end/augment_closures.cmx : middle_end/base_types/variable.cmx \
+ middle_end/base_types/var_within_closure.cmx \
+ middle_end/simple_value_approx.cmx utils/numbers.cmx \
+ middle_end/inline_and_simplify_aux.cmx utils/identifiable.cmx \
+ middle_end/freshening.cmx middle_end/flambda_utils.cmx \
+ middle_end/flambda_iterators.cmx middle_end/flambda.cmx \
+ bytecomp/debuginfo.cmx middle_end/base_types/closure_id.cmx \
+ utils/clflags.cmx middle_end/augment_closures.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 typing/primitive.cmi \
+ utils/numbers.cmi middle_end/base_types/mutable_variable.cmi \
+ utils/misc.cmi bytecomp/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 typing/primitive.cmx \
+ utils/numbers.cmx middle_end/base_types/mutable_variable.cmx \
+ utils/misc.cmx bytecomp/lambda.cmx typing/ident.cmx \
+ middle_end/closure_conversion_aux.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 \
+ middle_end/base_types/set_of_closures_id.cmi bytecomp/printlambda.cmi \
+ typing/primitive.cmi typing/predef.cmi utils/numbers.cmi \
+ middle_end/base_types/mutable_variable.cmi utils/misc.cmi \
+ parsing/location.cmi middle_end/base_types/linkage_name.cmi \
+ middle_end/lift_code.cmi bytecomp/lambda.cmi typing/ident.cmi \
+ middle_end/flambda_utils.cmi middle_end/flambda.cmi \
+ bytecomp/debuginfo.cmi middle_end/base_types/compilation_unit.cmi \
+ middle_end/base_types/closure_id.cmi \
+ middle_end/closure_conversion_aux.cmi utils/clflags.cmi \
+ middle_end/backend_intf.cmi parsing/asttypes.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 \
+ middle_end/base_types/set_of_closures_id.cmx bytecomp/printlambda.cmx \
+ typing/primitive.cmx typing/predef.cmx utils/numbers.cmx \
+ middle_end/base_types/mutable_variable.cmx utils/misc.cmx \
+ parsing/location.cmx middle_end/base_types/linkage_name.cmx \
+ middle_end/lift_code.cmx bytecomp/lambda.cmx typing/ident.cmx \
+ middle_end/flambda_utils.cmx middle_end/flambda.cmx \
+ bytecomp/debuginfo.cmx middle_end/base_types/compilation_unit.cmx \
+ middle_end/base_types/closure_id.cmx \
+ middle_end/closure_conversion_aux.cmx utils/clflags.cmx \
+ middle_end/backend_intf.cmi parsing/asttypes.cmi \
+ middle_end/closure_conversion.cmi
+middle_end/effect_analysis.cmo : middle_end/semantics_of_primitives.cmi \
+ utils/misc.cmi bytecomp/lambda.cmi middle_end/flambda.cmi \
+ middle_end/effect_analysis.cmi
+middle_end/effect_analysis.cmx : middle_end/semantics_of_primitives.cmx \
+ utils/misc.cmx bytecomp/lambda.cmx middle_end/flambda.cmx \
+ middle_end/effect_analysis.cmi
+middle_end/find_recursive_functions.cmo : middle_end/base_types/variable.cmi \
+ utils/strongly_connected_components.cmi middle_end/flambda_utils.cmi \
+ middle_end/flambda.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/flambda_utils.cmx \
+ middle_end/flambda.cmx middle_end/find_recursive_functions.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_id.cmi bytecomp/printlambda.cmi \
+ utils/numbers.cmi middle_end/base_types/mutable_variable.cmi \
+ utils/misc.cmi bytecomp/lambda.cmi typing/ident.cmi \
+ middle_end/flambda_iterators.cmi middle_end/flambda.cmi \
+ bytecomp/debuginfo.cmi middle_end/base_types/compilation_unit.cmi \
+ middle_end/base_types/closure_id.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_id.cmx bytecomp/printlambda.cmx \
+ utils/numbers.cmx middle_end/base_types/mutable_variable.cmx \
+ utils/misc.cmx bytecomp/lambda.cmx typing/ident.cmx \
+ middle_end/flambda_iterators.cmx middle_end/flambda.cmx \
+ bytecomp/debuginfo.cmx middle_end/base_types/compilation_unit.cmx \
+ middle_end/base_types/closure_id.cmx parsing/asttypes.cmi \
+ middle_end/allocated_const.cmx middle_end/flambda_invariants.cmi
+middle_end/flambda_iterators.cmo : middle_end/base_types/variable.cmi \
+ utils/misc.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/flambda.cmx middle_end/flambda_iterators.cmi
+middle_end/flambda.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_id.cmi bytecomp/printlambda.cmi \
+ utils/numbers.cmi middle_end/base_types/mutable_variable.cmi \
+ utils/misc.cmi bytecomp/lambda.cmi utils/identifiable.cmi \
+ bytecomp/debuginfo.cmi middle_end/base_types/compilation_unit.cmi \
+ middle_end/base_types/closure_id.cmi utils/clflags.cmi \
+ 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/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_id.cmx bytecomp/printlambda.cmx \
+ utils/numbers.cmx middle_end/base_types/mutable_variable.cmx \
+ utils/misc.cmx bytecomp/lambda.cmx utils/identifiable.cmx \
+ bytecomp/debuginfo.cmx middle_end/base_types/compilation_unit.cmx \
+ middle_end/base_types/closure_id.cmx utils/clflags.cmx \
+ parsing/asttypes.cmi middle_end/allocated_const.cmx \
+ 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/base_types/mutable_variable.cmi utils/misc.cmi \
+ middle_end/base_types/linkage_name.cmi middle_end/flambda_iterators.cmi \
+ middle_end/flambda.cmi bytecomp/debuginfo.cmi \
+ middle_end/base_types/compilation_unit.cmi \
+ middle_end/base_types/closure_id.cmi middle_end/backend_intf.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/base_types/mutable_variable.cmx utils/misc.cmx \
+ middle_end/base_types/linkage_name.cmx middle_end/flambda_iterators.cmx \
+ middle_end/flambda.cmx bytecomp/debuginfo.cmx \
+ middle_end/base_types/compilation_unit.cmx \
+ middle_end/base_types/closure_id.cmx middle_end/backend_intf.cmi \
+ middle_end/allocated_const.cmx middle_end/flambda_utils.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/base_types/set_of_closures_id.cmi \
+ middle_end/base_types/mutable_variable.cmi utils/misc.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/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/base_types/set_of_closures_id.cmx \
+ middle_end/base_types/mutable_variable.cmx utils/misc.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 middle_end/freshening.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 utils/numbers.cmi \
+ utils/misc.cmi bytecomp/lambda.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 utils/numbers.cmx \
+ utils/misc.cmx bytecomp/lambda.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/initialize_symbol_to_let_symbol.cmo : \
+ middle_end/base_types/variable.cmi utils/misc.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/flambda.cmx \
+ middle_end/initialize_symbol_to_let_symbol.cmi
+middle_end/inline_and_simplify_aux.cmo : 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_id.cmi utils/numbers.cmi \
+ middle_end/base_types/mutable_variable.cmi utils/misc.cmi \
+ middle_end/inlining_stats.cmi middle_end/inlining_cost.cmi \
+ middle_end/freshening.cmi middle_end/base_types/compilation_unit.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/symbol.cmx \
+ middle_end/base_types/static_exception.cmx \
+ middle_end/simple_value_approx.cmx \
+ middle_end/base_types/set_of_closures_id.cmx utils/numbers.cmx \
+ middle_end/base_types/mutable_variable.cmx utils/misc.cmx \
+ middle_end/inlining_stats.cmx middle_end/inlining_cost.cmx \
+ middle_end/freshening.cmx middle_end/base_types/compilation_unit.cmx \
+ utils/clflags.cmx middle_end/backend_intf.cmi \
+ middle_end/inline_and_simplify_aux.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_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 typing/predef.cmi utils/misc.cmi \
+ parsing/location.cmi bytecomp/lambda.cmi middle_end/invariant_params.cmi \
+ middle_end/inlining_stats.cmi middle_end/inlining_decision.cmi \
+ middle_end/inlining_cost.cmi middle_end/inline_and_simplify_aux.cmi \
+ typing/ident.cmi middle_end/freshening.cmi middle_end/flambda_utils.cmi \
+ middle_end/flambda.cmi middle_end/effect_analysis.cmi \
+ bytecomp/debuginfo.cmi middle_end/base_types/closure_id.cmi \
+ utils/clflags.cmi middle_end/backend_intf.cmi \
+ middle_end/augment_closures.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_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 typing/predef.cmx utils/misc.cmx \
+ parsing/location.cmx bytecomp/lambda.cmx middle_end/invariant_params.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/effect_analysis.cmx \
+ bytecomp/debuginfo.cmx middle_end/base_types/closure_id.cmx \
+ utils/clflags.cmx middle_end/backend_intf.cmi \
+ middle_end/augment_closures.cmx middle_end/allocated_const.cmx \
+ middle_end/inline_and_simplify.cmi
+middle_end/inlining_cost.cmo : middle_end/base_types/variable.cmi \
+ typing/primitive.cmi utils/misc.cmi bytecomp/lambda.cmi \
+ middle_end/flambda_iterators.cmi middle_end/flambda.cmi utils/clflags.cmi \
+ middle_end/inlining_cost.cmi
+middle_end/inlining_cost.cmx : middle_end/base_types/variable.cmx \
+ typing/primitive.cmx utils/misc.cmx bytecomp/lambda.cmx \
+ middle_end/flambda_iterators.cmx middle_end/flambda.cmx utils/clflags.cmx \
+ middle_end/inlining_cost.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 utils/misc.cmi \
+ middle_end/lift_code.cmi bytecomp/lambda.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_utils.cmi middle_end/flambda.cmi \
+ middle_end/find_recursive_functions.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 utils/misc.cmx \
+ middle_end/lift_code.cmx bytecomp/lambda.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_utils.cmx middle_end/flambda.cmx \
+ middle_end/find_recursive_functions.cmx utils/clflags.cmx \
+ middle_end/inlining_decision.cmi
+middle_end/inlining_stats.cmo : utils/misc.cmi \
+ middle_end/inlining_stats_types.cmi bytecomp/debuginfo.cmi \
+ middle_end/base_types/closure_id.cmi utils/clflags.cmi \
+ middle_end/inlining_stats.cmi
+middle_end/inlining_stats.cmx : utils/misc.cmx \
+ middle_end/inlining_stats_types.cmx bytecomp/debuginfo.cmx \
+ middle_end/base_types/closure_id.cmx utils/clflags.cmx \
+ middle_end/inlining_stats.cmi
+middle_end/inlining_stats_types.cmo : middle_end/inlining_cost.cmi \
+ middle_end/inlining_stats_types.cmi
+middle_end/inlining_stats_types.cmx : middle_end/inlining_cost.cmx \
+ middle_end/inlining_stats_types.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 utils/misc.cmi bytecomp/lambda.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/compilation_unit.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 utils/misc.cmx bytecomp/lambda.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/compilation_unit.cmx \
+ middle_end/base_types/closure_id.cmx middle_end/inlining_transforms.cmi
+middle_end/invariant_params.cmo : middle_end/base_types/variable.cmi \
+ middle_end/base_types/symbol.cmi utils/misc.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 utils/misc.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/lift_code.cmo : middle_end/base_types/variable.cmi \
+ utils/strongly_connected_components.cmi \
+ middle_end/simple_value_approx.cmi middle_end/inlining_cost.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/simple_value_approx.cmx middle_end/inlining_cost.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_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 utils/misc.cmi \
+ middle_end/base_types/linkage_name.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 \
+ 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/misc.cmx \
+ middle_end/base_types/linkage_name.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 middle_end/backend_intf.cmi \
+ middle_end/allocated_const.cmx middle_end/alias_analysis.cmx \
+ middle_end/lift_constants.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_utils.cmi \
+ middle_end/flambda.cmi bytecomp/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 middle_end/flambda_utils.cmx \
+ middle_end/flambda.cmx bytecomp/debuginfo.cmx parsing/asttypes.cmi \
+ middle_end/lift_let_to_initialize_symbol.cmi
+middle_end/middle_end.cmo : utils/warnings.cmi \
+ middle_end/base_types/variable.cmi utils/timings.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 \
+ 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/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 bytecomp/debuginfo.cmi \
+ middle_end/base_types/closure_id.cmi middle_end/closure_conversion.cmi \
+ utils/clflags.cmi middle_end/backend_intf.cmi middle_end/middle_end.cmi
+middle_end/middle_end.cmx : utils/warnings.cmx \
+ middle_end/base_types/variable.cmx utils/timings.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 \
+ 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/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 bytecomp/debuginfo.cmx \
+ middle_end/base_types/closure_id.cmx middle_end/closure_conversion.cmx \
+ utils/clflags.cmx middle_end/backend_intf.cmi middle_end/middle_end.cmi
+middle_end/ref_to_variables.cmo : middle_end/base_types/variable.cmi \
+ middle_end/base_types/mutable_variable.cmi utils/misc.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 \
+ middle_end/flambda_iterators.cmx middle_end/flambda.cmx \
+ parsing/asttypes.cmi middle_end/ref_to_variables.cmi
+middle_end/remove_unused_arguments.cmo : middle_end/base_types/variable.cmi \
+ middle_end/invariant_params.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_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/invariant_params.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_id.cmx utils/clflags.cmx \
+ middle_end/remove_unused_arguments.cmi
+middle_end/remove_unused_closure_vars.cmo : \
+ middle_end/base_types/variable.cmi \
+ middle_end/base_types/var_within_closure.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/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_program_constructs.cmo : \
+ middle_end/base_types/symbol.cmi utils/misc.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 utils/misc.cmx middle_end/flambda.cmx \
+ middle_end/effect_analysis.cmx \
+ middle_end/remove_unused_program_constructs.cmi
+middle_end/semantics_of_primitives.cmo : bytecomp/printlambda.cmi \
+ utils/misc.cmi bytecomp/lambda.cmi middle_end/semantics_of_primitives.cmi
+middle_end/semantics_of_primitives.cmx : bytecomp/printlambda.cmx \
+ utils/misc.cmx bytecomp/lambda.cmx middle_end/semantics_of_primitives.cmi
+middle_end/share_constants.cmo : middle_end/base_types/symbol.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/flambda_iterators.cmx middle_end/flambda.cmx \
+ middle_end/share_constants.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 \
+ utils/misc.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/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 \
+ utils/misc.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/base_types/closure_id.cmx middle_end/allocated_const.cmx \
+ middle_end/simple_value_approx.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/inlining_cost.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/inlining_cost.cmx middle_end/simplify_boxed_integer_ops.cmi
+middle_end/simplify_common.cmo : middle_end/simple_value_approx.cmi \
+ bytecomp/lambda.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/inlining_cost.cmx \
+ middle_end/effect_analysis.cmx middle_end/simplify_common.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 utils/misc.cmi bytecomp/lambda.cmi \
+ middle_end/inlining_cost.cmi middle_end/flambda.cmi utils/clflags.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 utils/misc.cmx bytecomp/lambda.cmx \
+ middle_end/inlining_cost.cmx middle_end/flambda.cmx utils/clflags.cmx \
+ parsing/asttypes.cmi middle_end/simplify_primitives.cmi
+middle_end/unbox_closures.cmo : middle_end/base_types/variable.cmi \
+ middle_end/simple_value_approx.cmi middle_end/inline_and_simplify_aux.cmi \
+ middle_end/flambda_utils.cmi middle_end/flambda.cmi \
+ bytecomp/debuginfo.cmi middle_end/base_types/closure_id.cmi \
+ utils/clflags.cmi middle_end/backend_intf.cmi \
+ middle_end/unbox_closures.cmi
+middle_end/unbox_closures.cmx : middle_end/base_types/variable.cmx \
+ middle_end/simple_value_approx.cmx middle_end/inline_and_simplify_aux.cmx \
+ middle_end/flambda_utils.cmx middle_end/flambda.cmx \
+ bytecomp/debuginfo.cmx middle_end/base_types/closure_id.cmx \
+ utils/clflags.cmx middle_end/backend_intf.cmi \
+ middle_end/unbox_closures.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.cmi : \
+ middle_end/base_types/closure_element.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.cmi : utils/identifiable.cmi \
+ middle_end/base_types/compilation_unit.cmi
+middle_end/base_types/id_types.cmi : utils/identifiable.cmi
+middle_end/base_types/linkage_name.cmi : utils/identifiable.cmi
+middle_end/base_types/mutable_variable.cmi : utils/identifiable.cmi \
+ typing/ident.cmi middle_end/base_types/compilation_unit.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.cmi : utils/identifiable.cmi
+middle_end/base_types/symbol.cmi : middle_end/base_types/linkage_name.cmi \
+ utils/identifiable.cmi middle_end/base_types/compilation_unit.cmi
+middle_end/base_types/tag.cmi : utils/identifiable.cmi
+middle_end/base_types/variable.cmi : utils/identifiable.cmi typing/ident.cmi \
+ middle_end/base_types/compilation_unit.cmi
+middle_end/base_types/var_within_closure.cmi : \
+ middle_end/base_types/closure_element.cmi
+middle_end/base_types/closure_element.cmo : \
+ middle_end/base_types/variable.cmi \
+ middle_end/base_types/closure_element.cmi
+middle_end/base_types/closure_element.cmx : \
+ middle_end/base_types/variable.cmx \
+ middle_end/base_types/closure_element.cmi
+middle_end/base_types/closure_id.cmo : \
+ middle_end/base_types/closure_element.cmi \
+ middle_end/base_types/closure_id.cmi
+middle_end/base_types/closure_id.cmx : \
+ middle_end/base_types/closure_element.cmx \
+ middle_end/base_types/closure_id.cmi
+middle_end/base_types/compilation_unit.cmo : utils/misc.cmi \
+ middle_end/base_types/linkage_name.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 utils/identifiable.cmx \
+ typing/ident.cmx middle_end/base_types/compilation_unit.cmi
+middle_end/base_types/export_id.cmo : 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 : 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/id_types.cmo : utils/identifiable.cmi \
+ middle_end/base_types/id_types.cmi
+middle_end/base_types/id_types.cmx : utils/identifiable.cmx \
+ middle_end/base_types/id_types.cmi
+middle_end/base_types/linkage_name.cmo : utils/identifiable.cmi \
+ middle_end/base_types/linkage_name.cmi
+middle_end/base_types/linkage_name.cmx : utils/identifiable.cmx \
+ middle_end/base_types/linkage_name.cmi
+middle_end/base_types/mutable_variable.cmo : utils/identifiable.cmi \
+ typing/ident.cmi middle_end/base_types/compilation_unit.cmi \
+ middle_end/base_types/mutable_variable.cmi
+middle_end/base_types/mutable_variable.cmx : utils/identifiable.cmx \
+ typing/ident.cmx middle_end/base_types/compilation_unit.cmx \
+ middle_end/base_types/mutable_variable.cmi
+middle_end/base_types/set_of_closures_id.cmo : 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 : 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/static_exception.cmo : utils/numbers.cmi \
+ bytecomp/lambda.cmi middle_end/base_types/static_exception.cmi
+middle_end/base_types/static_exception.cmx : utils/numbers.cmx \
+ bytecomp/lambda.cmx middle_end/base_types/static_exception.cmi
+middle_end/base_types/symbol.cmo : utils/misc.cmi \
+ middle_end/base_types/linkage_name.cmi utils/identifiable.cmi \
+ middle_end/base_types/compilation_unit.cmi \
+ middle_end/base_types/symbol.cmi
+middle_end/base_types/symbol.cmx : utils/misc.cmx \
+ middle_end/base_types/linkage_name.cmx utils/identifiable.cmx \
+ middle_end/base_types/compilation_unit.cmx \
+ middle_end/base_types/symbol.cmi
+middle_end/base_types/tag.cmo : utils/numbers.cmi utils/misc.cmi \
+ utils/identifiable.cmi middle_end/base_types/tag.cmi
+middle_end/base_types/tag.cmx : utils/numbers.cmx utils/misc.cmx \
+ utils/identifiable.cmx middle_end/base_types/tag.cmi
+middle_end/base_types/variable.cmo : utils/misc.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/misc.cmx utils/identifiable.cmx \
+ typing/ident.cmx middle_end/base_types/compilation_unit.cmx \
+ middle_end/base_types/variable.cmi
+middle_end/base_types/var_within_closure.cmo : \
+ 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/base_types/closure_element.cmx \
+ middle_end/base_types/var_within_closure.cmi
driver/compenv.cmi :
driver/compile.cmi :
driver/compmisc.cmi : typing/env.cmi
diff --git a/.merlin b/.merlin
index 0442978ec5..38628a4744 100644
--- a/.merlin
+++ b/.merlin
@@ -1,6 +1,12 @@
S ./asmcomp
B ./asmcomp
+S ./middle_end
+B ./middle_end
+
+S ./middle_end/base_types
+B ./middle_end/base_types
+
S ./bytecomp
B ./bytecomp
diff --git a/Makefile b/Makefile
index c316aaa6e6..2c1545e531 100644
--- a/Makefile
+++ b/Makefile
@@ -252,6 +252,10 @@ installopt:
cd asmrun; $(MAKE) install
cp ocamlopt $(INSTALL_BINDIR)/ocamlopt$(EXE)
cd stdlib; $(MAKE) installopt
+ cp middle_end/*.cmi middle_end/*.cmt middle_end/*.cmti \
+ $(INSTALL_COMPLIBDIR)
+ cp middle_end/base_types/*.cmi middle_end/base_types/*.cmt \
+ middle_end/base_types/*.cmti $(INSTALL_COMPLIBDIR)
cp asmcomp/*.cmi asmcomp/*.cmt asmcomp/*.cmti $(INSTALL_COMPLIBDIR)
cp compilerlibs/ocamloptcomp.cma $(OPTSTART) $(INSTALL_COMPLIBDIR)
if test -n "$(WITH_OCAMLDOC)"; then (cd ocamldoc; $(MAKE) installopt); \
@@ -314,8 +318,9 @@ ocamlc: compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma $(BYTESTART)
# The native-code compiler
-compilerlibs/ocamloptcomp.cma: $(ASMCOMP)
- $(CAMLC) -a -o $@ $(ASMCOMP)
+compilerlibs/ocamloptcomp.cma: $(MIDDLE_END) $(ASMCOMP)
+ $(CAMLC) -a -o $@ $(MIDDLE_END) $(ASMCOMP)
+
partialclean::
rm -f compilerlibs/ocamloptcomp.cma
@@ -467,8 +472,8 @@ partialclean::
# The native-code compiler compiled with itself
-compilerlibs/ocamloptcomp.cmxa: $(ASMCOMP:.cmo=.cmx)
- $(CAMLOPT) -a -o $@ $(ASMCOMP:.cmo=.cmx)
+compilerlibs/ocamloptcomp.cmxa: $(MIDDLE_END:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx)
+ $(CAMLOPT) -a -o $@ $(MIDDLE_END:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx)
partialclean::
rm -f compilerlibs/ocamloptcomp.cmxa compilerlibs/ocamloptcomp.a
@@ -481,7 +486,7 @@ ocamlopt.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \
partialclean::
rm -f ocamlopt.opt
-$(COMMON:.cmo=.cmx) $(BYTECOMP:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx): ocamlopt
+$(COMMON:.cmo=.cmx) $(BYTECOMP:.cmo=.cmx) $(MIDDLE_END:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx): ocamlopt
# The numeric opcodes
@@ -781,12 +786,13 @@ clean::
$(CAMLOPT) $(COMPFLAGS) -c $<
partialclean::
- for d in utils parsing typing bytecomp asmcomp driver toplevel tools; \
+ for d in utils parsing typing bytecomp asmcomp middle_end middle_end/base_types driver toplevel tools; \
do rm -f $$d/*.cm[ioxt] $$d/*.cmti $$d/*.annot $$d/*.[so] $$d/*~; done
rm -f *~
depend: beforedepend
- (for d in utils parsing typing bytecomp asmcomp driver toplevel; \
+ (for d in utils parsing typing bytecomp asmcomp middle_end \
+ middle_end/base_types driver toplevel; \
do $(CAMLDEP) $(DEPFLAGS) $$d/*.mli $$d/*.ml; \
done) > .depend
diff --git a/Makefile.nt b/Makefile.nt
index f2cc811849..3f82860965 100644
--- a/Makefile.nt
+++ b/Makefile.nt
@@ -240,6 +240,10 @@ installopt:
cd asmrun ; $(MAKEREC) install
cp ocamlopt $(INSTALL_BINDIR)/ocamlopt.exe
cd stdlib ; $(MAKEREC) installopt
+ cp middle_end/*.cmi middle_end/*.cmt middle_end/*.cmti \
+ $(INSTALL_COMPLIBDIR)
+ cp middle_end/base_types/*.cmi middle_end/base_types/*.cmt \
+ middle_end/base_types/*.cmti $(INSTALL_COMPLIBDIR)
cp asmcomp/*.cmi asmcomp/*.cmt asmcomp/*.cmti $(INSTALL_COMPLIBDIR)
cp compilerlibs/ocamloptcomp.cma $(OPTSTART) $(INSTALL_COMPLIBDIR)
if test -n "$(WITH_OCAMLDOC)"; then (cd ocamldoc; $(MAKEREC) installopt); fi
@@ -290,8 +294,8 @@ partialclean::
# The native-code compiler
-compilerlibs/ocamloptcomp.cma: $(ASMCOMP)
- $(CAMLC) -a -o $@ $(ASMCOMP)
+compilerlibs/ocamloptcomp.cma: $(MIDDLE_END) $(ASMCOMP)
+ $(CAMLC) -a -o $@ $(MIDDLE_END) $(ASMCOMP)
partialclean::
rm -f compilerlibs/ocamloptcomp.cma
@@ -420,8 +424,8 @@ partialclean::
# The native-code compiler compiled with itself
-compilerlibs/ocamloptcomp.cmxa: $(ASMCOMP:.cmo=.cmx)
- $(CAMLOPT) -a -o $@ $(ASMCOMP:.cmo=.cmx)
+compilerlibs/ocamloptcomp.cmxa: $(MIDDLE_END:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx)
+ $(CAMLOPT) -a -o $@ $(MIDDLE_END:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx)
partialclean::
rm -f compilerlibs/ocamloptcomp.cmxa compilerlibs/ocamloptcomp.$(A)
@@ -434,7 +438,7 @@ ocamlopt.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \
partialclean::
rm -f ocamlopt.opt
-$(COMMON:.cmo=.cmx) $(BYTECOMP:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx): ocamlopt
+$(COMMON:.cmo=.cmx) $(BYTECOMP:.cmo=.cmx) $(MIDDLE_END:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx): ocamlopt
# The numeric opcodes
@@ -681,13 +685,13 @@ clean::
.SUFFIXES: .ml .mli .cmo .cmi .cmx
.ml.cmo:
- $(CAMLC) $(COMPFLAGS) -c $<
+ $(CAMLC) $(COMPFLAGS) `./Compflags $@` -c $<
.mli.cmi:
- $(CAMLC) $(COMPFLAGS) -c $<
+ $(CAMLC) $(COMPFLAGS) `./Compflags $@` -c $<
.ml.cmx:
- $(CAMLOPT) $(COMPFLAGS) -c $<
+ $(CAMLOPT) $(COMPFLAGS) `./Compflags $@` -c $<
partialclean::
rm -f utils/*.cm* utils/*.$(O) utils/*.$(S)
@@ -700,7 +704,8 @@ partialclean::
rm -f tools/*.cm* tools/*.$(O) tools/*.$(S)
depend: beforedepend
- (for d in utils parsing typing bytecomp asmcomp driver toplevel; \
+ (for d in utils parsing typing bytecomp asmcomp middle_end \
+ middle_end/base_types driver toplevel; \
do $(CAMLDEP) $(DEPFLAGS) $$d/*.mli $$d/*.ml; \
done) > .depend
diff --git a/Makefile.shared b/Makefile.shared
index 217f3c4e63..3ab908d3cf 100755
--- a/Makefile.shared
+++ b/Makefile.shared
@@ -33,8 +33,8 @@ OCAMLBUILDNATIVE=$(WITH_OCAMLBUILD:=.native)
OCAMLDOC_OPT=$(WITH_OCAMLDOC:=.opt)
-INCLUDES=-I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver \
- -I toplevel
+INCLUDES=-I utils -I parsing -I typing -I bytecomp -I middle_end \
+ -I middle_end/base_types -I asmcomp -I driver -I toplevel
UTILS=utils/config.cmo utils/misc.cmo \
utils/identifiable.cmo utils/numbers.cmo utils/arg_helper.cmo \
@@ -104,8 +104,17 @@ ASMCOMP=\
asmcomp/arch.cmo \
asmcomp/cmm.cmo asmcomp/printcmm.cmo \
asmcomp/reg.cmo asmcomp/mach.cmo asmcomp/proc.cmo \
- asmcomp/clambda.cmo asmcomp/printclambda.cmo asmcomp/compilenv.cmo \
- asmcomp/closure.cmo asmcomp/strmatch.cmo asmcomp/cmmgen.cmo \
+ asmcomp/clambda.cmo asmcomp/printclambda.cmo \
+ asmcomp/export_info.cmo \
+ asmcomp/export_info_for_pack.cmo \
+ asmcomp/compilenv.cmo \
+ asmcomp/closure.cmo \
+ asmcomp/build_export_info.cmo \
+ asmcomp/closure_offsets.cmo \
+ asmcomp/flambda_to_clambda.cmo \
+ asmcomp/import_approx.cmo \
+ asmcomp/un_anf.cmo \
+ asmcomp/strmatch.cmo asmcomp/cmmgen.cmo \
asmcomp/printmach.cmo asmcomp/selectgen.cmo asmcomp/selection.cmo \
asmcomp/comballoc.cmo \
asmcomp/CSEgen.cmo asmcomp/CSE.cmo \
@@ -122,6 +131,58 @@ ASMCOMP=\
asmcomp/asmlink.cmo asmcomp/asmlibrarian.cmo asmcomp/asmpackager.cmo \
driver/opterrors.cmo driver/optcompile.cmo
+MIDDLE_END=\
+ middle_end/base_types/tag.cmo \
+ middle_end/base_types/linkage_name.cmo \
+ middle_end/base_types/compilation_unit.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/closure_element.cmo \
+ middle_end/base_types/closure_id.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/semantics_of_primitives.cmo \
+ middle_end/allocated_const.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/augment_closures.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
+
TOPLEVEL=toplevel/genprintval.cmo toplevel/toploop.cmo \
toplevel/trace.cmo toplevel/topdirs.cmo toplevel/topmain.cmo
diff --git a/asmrun/Makefile b/asmrun/Makefile
index 32c00597bb..32479e1be4 100644
--- a/asmrun/Makefile
+++ b/asmrun/Makefile
@@ -29,7 +29,7 @@ COBJS=startup_aux.o startup.o \
gc_ctrl.o terminfo.o md5.o obj.o lexing.o printexc.o callback.o weak.o \
compact.o finalise.o custom.o $(UNIX_OR_WIN32).o backtrace_prim.o \
backtrace.o \
- natdynlink.o debugger.o meta.o dynlink.o
+ natdynlink.o debugger.o meta.o dynlink.o clambda_checks.o
ASMOBJS=$(ARCH).o
diff --git a/asmrun/Makefile.nt b/asmrun/Makefile.nt
index 4a1056f6c9..8a6b8407a1 100644
--- a/asmrun/Makefile.nt
+++ b/asmrun/Makefile.nt
@@ -25,7 +25,7 @@ COBJS=startup_aux.$(O) startup.$(O) \
md5.$(O) obj.$(O) lexing.$(O) win32.$(O) printexc.$(O) callback.$(O) \
weak.$(O) compact.$(O) finalise.$(O) custom.$(O) globroots.$(O) \
backtrace_prim.$(O) backtrace.$(O) \
- natdynlink.$(O) debugger.$(O) meta.$(O) dynlink.$(O)
+ natdynlink.$(O) debugger.$(O) meta.$(O) dynlink.$(O) clambda_checks.$(O)
LINKEDFILES=misc.c freelist.c major_gc.c minor_gc.c memory.c alloc.c array.c \
compare.c ints.c floats.c str.c io.c extern.c intern.c hash.c sys.c \