Skip to content

Commit 6cbdfad

Browse files
mshinwellchambart
authored andcommitted
Move some code from Asmgen to the middle end directory etc. (ocaml#2288)
Followup to (ocaml#2281)
1 parent 12cfc54 commit 6cbdfad

25 files changed

+422
-281
lines changed

.depend

Lines changed: 57 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1916,9 +1916,7 @@ asmcomp/arch.cmx : \
19161916
utils/config.cmx \
19171917
utils/clflags.cmx
19181918
asmcomp/asmgen.cmo : \
1919-
middle_end/flambda/un_anf.cmi \
19201919
lambda/translmod.cmi \
1921-
middle_end/symbol.cmi \
19221920
asmcomp/split.cmi \
19231921
asmcomp/spill.cmi \
19241922
asmcomp/selection.cmi \
@@ -1930,22 +1928,17 @@ asmcomp/asmgen.cmo : \
19301928
asmcomp/printmach.cmi \
19311929
asmcomp/printlinear.cmi \
19321930
asmcomp/printcmm.cmi \
1933-
middle_end/printclambda.cmi \
19341931
typing/primitive.cmi \
1935-
typing/path.cmi \
19361932
utils/misc.cmi \
19371933
asmcomp/mach.cmi \
19381934
parsing/location.cmi \
19391935
asmcomp/liveness.cmi \
19401936
asmcomp/linscan.cmi \
1941-
middle_end/linkage_name.cmi \
19421937
asmcomp/linearize.cmi \
19431938
lambda/lambda.cmi \
19441939
asmcomp/interval.cmi \
19451940
asmcomp/interf.cmi \
19461941
typing/ident.cmi \
1947-
middle_end/flambda/flambda_to_clambda.cmi \
1948-
middle_end/flambda/flambda.cmi \
19491942
asmcomp/emitaux.cmi \
19501943
asmcomp/emit.cmi \
19511944
asmcomp/deadcode.cmi \
@@ -1955,17 +1948,14 @@ asmcomp/asmgen.cmo : \
19551948
asmcomp/coloring.cmi \
19561949
asmcomp/cmmgen.cmi \
19571950
asmcomp/cmm.cmi \
1958-
middle_end/closure/closure.cmi \
19591951
utils/clflags.cmi \
19601952
middle_end/clambda.cmi \
19611953
asmcomp/CSE.cmo \
1962-
middle_end/flambda/build_export_info.cmi \
1954+
middle_end/backend_intf.cmi \
19631955
asmcomp/debug/available_regs.cmi \
19641956
asmcomp/asmgen.cmi
19651957
asmcomp/asmgen.cmx : \
1966-
middle_end/flambda/un_anf.cmx \
19671958
lambda/translmod.cmx \
1968-
middle_end/symbol.cmx \
19691959
asmcomp/split.cmx \
19701960
asmcomp/spill.cmx \
19711961
asmcomp/selection.cmx \
@@ -1977,22 +1967,17 @@ asmcomp/asmgen.cmx : \
19771967
asmcomp/printmach.cmx \
19781968
asmcomp/printlinear.cmx \
19791969
asmcomp/printcmm.cmx \
1980-
middle_end/printclambda.cmx \
19811970
typing/primitive.cmx \
1982-
typing/path.cmx \
19831971
utils/misc.cmx \
19841972
asmcomp/mach.cmx \
19851973
parsing/location.cmx \
19861974
asmcomp/liveness.cmx \
19871975
asmcomp/linscan.cmx \
1988-
middle_end/linkage_name.cmx \
19891976
asmcomp/linearize.cmx \
19901977
lambda/lambda.cmx \
19911978
asmcomp/interval.cmx \
19921979
asmcomp/interf.cmx \
19931980
typing/ident.cmx \
1994-
middle_end/flambda/flambda_to_clambda.cmx \
1995-
middle_end/flambda/flambda.cmx \
19961981
asmcomp/emitaux.cmx \
19971982
asmcomp/emit.cmx \
19981983
asmcomp/deadcode.cmx \
@@ -2002,18 +1987,16 @@ asmcomp/asmgen.cmx : \
20021987
asmcomp/coloring.cmx \
20031988
asmcomp/cmmgen.cmx \
20041989
asmcomp/cmm.cmx \
2005-
middle_end/closure/closure.cmx \
20061990
utils/clflags.cmx \
20071991
middle_end/clambda.cmx \
20081992
asmcomp/CSE.cmx \
2009-
middle_end/flambda/build_export_info.cmx \
1993+
middle_end/backend_intf.cmi \
20101994
asmcomp/debug/available_regs.cmx \
20111995
asmcomp/asmgen.cmi
20121996
asmcomp/asmgen.cmi : \
20131997
lambda/lambda.cmi \
2014-
typing/ident.cmi \
2015-
middle_end/flambda/flambda.cmi \
20161998
asmcomp/cmm.cmi \
1999+
middle_end/clambda.cmi \
20172000
middle_end/backend_intf.cmi
20182001
asmcomp/asmlibrarian.cmo : \
20192002
utils/misc.cmi \
@@ -2098,6 +2081,7 @@ asmcomp/asmpackager.cmo : \
20982081
middle_end/compilenv.cmi \
20992082
middle_end/compilation_unit.cmi \
21002083
file_formats/cmx_format.cmi \
2084+
middle_end/closure/closure_middle_end.cmi \
21012085
utils/clflags.cmi \
21022086
utils/ccomp.cmi \
21032087
asmcomp/asmlink.cmi \
@@ -2120,6 +2104,7 @@ asmcomp/asmpackager.cmx : \
21202104
middle_end/compilenv.cmx \
21212105
middle_end/compilation_unit.cmx \
21222106
file_formats/cmx_format.cmi \
2107+
middle_end/closure/closure_middle_end.cmx \
21232108
utils/clflags.cmx \
21242109
utils/ccomp.cmx \
21252110
asmcomp/asmlink.cmx \
@@ -3548,6 +3533,30 @@ middle_end/closure/closure.cmi : \
35483533
lambda/lambda.cmi \
35493534
middle_end/clambda.cmi \
35503535
middle_end/backend_intf.cmi
3536+
middle_end/closure/closure_middle_end.cmo : \
3537+
middle_end/printclambda.cmi \
3538+
typing/path.cmi \
3539+
lambda/lambda.cmi \
3540+
typing/ident.cmi \
3541+
middle_end/compilenv.cmi \
3542+
middle_end/closure/closure.cmi \
3543+
utils/clflags.cmi \
3544+
middle_end/clambda.cmi \
3545+
middle_end/closure/closure_middle_end.cmi
3546+
middle_end/closure/closure_middle_end.cmx : \
3547+
middle_end/printclambda.cmx \
3548+
typing/path.cmx \
3549+
lambda/lambda.cmx \
3550+
typing/ident.cmx \
3551+
middle_end/compilenv.cmx \
3552+
middle_end/closure/closure.cmx \
3553+
utils/clflags.cmx \
3554+
middle_end/clambda.cmx \
3555+
middle_end/closure/closure_middle_end.cmi
3556+
middle_end/closure/closure_middle_end.cmi : \
3557+
lambda/lambda.cmi \
3558+
middle_end/clambda.cmi \
3559+
middle_end/backend_intf.cmi
35513560
middle_end/flambda/alias_analysis.cmo : \
35523561
middle_end/variable.cmi \
35533562
middle_end/flambda/base_types/var_within_closure.cmi \
@@ -4071,65 +4080,81 @@ middle_end/flambda/flambda_iterators.cmi : \
40714080
middle_end/flambda/flambda_middle_end.cmo : \
40724081
utils/warnings.cmi \
40734082
middle_end/variable.cmi \
4083+
middle_end/flambda/un_anf.cmi \
40744084
middle_end/symbol.cmi \
40754085
middle_end/flambda/share_constants.cmi \
40764086
middle_end/flambda/remove_unused_program_constructs.cmi \
40774087
middle_end/flambda/remove_unused_closure_vars.cmi \
40784088
middle_end/flambda/ref_to_variables.cmi \
40794089
utils/profile.cmi \
4090+
middle_end/printclambda.cmi \
40804091
utils/misc.cmi \
40814092
parsing/location.cmi \
4093+
middle_end/linkage_name.cmi \
40824094
middle_end/flambda/lift_let_to_initialize_symbol.cmi \
40834095
middle_end/flambda/lift_constants.cmi \
40844096
middle_end/flambda/lift_code.cmi \
4097+
lambda/lambda.cmi \
40854098
utils/int_replace_polymorphic_compare.cmi \
40864099
middle_end/flambda/inlining_cost.cmi \
40874100
middle_end/flambda/inline_and_simplify.cmi \
40884101
middle_end/flambda/initialize_symbol_to_let_symbol.cmi \
4102+
middle_end/flambda/flambda_to_clambda.cmi \
40894103
middle_end/flambda/flambda_iterators.cmi \
40904104
middle_end/flambda/flambda_invariants.cmi \
40914105
middle_end/flambda/flambda.cmi \
40924106
lambda/debuginfo.cmi \
4107+
middle_end/compilenv.cmi \
40934108
middle_end/flambda/base_types/closure_id.cmi \
40944109
middle_end/flambda/closure_conversion.cmi \
40954110
utils/clflags.cmi \
4111+
middle_end/clambda.cmi \
4112+
middle_end/flambda/build_export_info.cmi \
40964113
middle_end/backend_intf.cmi \
40974114
middle_end/flambda/flambda_middle_end.cmi
40984115
middle_end/flambda/flambda_middle_end.cmx : \
40994116
utils/warnings.cmx \
41004117
middle_end/variable.cmx \
4118+
middle_end/flambda/un_anf.cmx \
41014119
middle_end/symbol.cmx \
41024120
middle_end/flambda/share_constants.cmx \
41034121
middle_end/flambda/remove_unused_program_constructs.cmx \
41044122
middle_end/flambda/remove_unused_closure_vars.cmx \
41054123
middle_end/flambda/ref_to_variables.cmx \
41064124
utils/profile.cmx \
4125+
middle_end/printclambda.cmx \
41074126
utils/misc.cmx \
41084127
parsing/location.cmx \
4128+
middle_end/linkage_name.cmx \
41094129
middle_end/flambda/lift_let_to_initialize_symbol.cmx \
41104130
middle_end/flambda/lift_constants.cmx \
41114131
middle_end/flambda/lift_code.cmx \
4132+
lambda/lambda.cmx \
41124133
utils/int_replace_polymorphic_compare.cmx \
41134134
middle_end/flambda/inlining_cost.cmx \
41144135
middle_end/flambda/inline_and_simplify.cmx \
41154136
middle_end/flambda/initialize_symbol_to_let_symbol.cmx \
4137+
middle_end/flambda/flambda_to_clambda.cmx \
41164138
middle_end/flambda/flambda_iterators.cmx \
41174139
middle_end/flambda/flambda_invariants.cmx \
41184140
middle_end/flambda/flambda.cmx \
41194141
lambda/debuginfo.cmx \
4142+
middle_end/compilenv.cmx \
41204143
middle_end/flambda/base_types/closure_id.cmx \
41214144
middle_end/flambda/closure_conversion.cmx \
41224145
utils/clflags.cmx \
4146+
middle_end/clambda.cmx \
4147+
middle_end/flambda/build_export_info.cmx \
41234148
middle_end/backend_intf.cmi \
41244149
middle_end/flambda/flambda_middle_end.cmi
41254150
middle_end/flambda/flambda_middle_end.cmi : \
41264151
lambda/lambda.cmi \
4127-
typing/ident.cmi \
4128-
middle_end/flambda/flambda.cmi \
4152+
middle_end/clambda.cmi \
41294153
middle_end/backend_intf.cmi
41304154
middle_end/flambda/flambda_to_clambda.cmo : \
41314155
middle_end/variable.cmi \
41324156
middle_end/flambda/base_types/var_within_closure.cmi \
4157+
middle_end/flambda/un_anf.cmi \
41334158
middle_end/flambda/base_types/tag.cmi \
41344159
middle_end/symbol.cmi \
41354160
middle_end/flambda/base_types/static_exception.cmi \
@@ -4148,6 +4173,7 @@ middle_end/flambda/flambda_to_clambda.cmo : \
41484173
middle_end/flambda/export_info.cmi \
41494174
lambda/debuginfo.cmi \
41504175
middle_end/compilenv.cmi \
4176+
middle_end/compilation_unit.cmi \
41514177
middle_end/flambda/closure_offsets.cmi \
41524178
middle_end/flambda/base_types/closure_id.cmi \
41534179
utils/clflags.cmi \
@@ -4158,6 +4184,7 @@ middle_end/flambda/flambda_to_clambda.cmo : \
41584184
middle_end/flambda/flambda_to_clambda.cmx : \
41594185
middle_end/variable.cmx \
41604186
middle_end/flambda/base_types/var_within_closure.cmx \
4187+
middle_end/flambda/un_anf.cmx \
41614188
middle_end/flambda/base_types/tag.cmx \
41624189
middle_end/symbol.cmx \
41634190
middle_end/flambda/base_types/static_exception.cmx \
@@ -4176,6 +4203,7 @@ middle_end/flambda/flambda_to_clambda.cmx : \
41764203
middle_end/flambda/export_info.cmx \
41774204
lambda/debuginfo.cmx \
41784205
middle_end/compilenv.cmx \
4206+
middle_end/compilation_unit.cmx \
41794207
middle_end/flambda/closure_offsets.cmx \
41804208
middle_end/flambda/base_types/closure_id.cmx \
41814209
utils/clflags.cmx \
@@ -5154,6 +5182,7 @@ middle_end/flambda/traverse_for_exported_symbols.cmi : \
51545182
middle_end/flambda/base_types/export_id.cmi \
51555183
middle_end/flambda/base_types/closure_id.cmi
51565184
middle_end/flambda/un_anf.cmo : \
5185+
middle_end/symbol.cmi \
51575186
middle_end/semantics_of_primitives.cmi \
51585187
middle_end/printclambda.cmi \
51595188
utils/misc.cmi \
@@ -5166,6 +5195,7 @@ middle_end/flambda/un_anf.cmo : \
51665195
parsing/asttypes.cmi \
51675196
middle_end/flambda/un_anf.cmi
51685197
middle_end/flambda/un_anf.cmx : \
5198+
middle_end/symbol.cmx \
51695199
middle_end/semantics_of_primitives.cmx \
51705200
middle_end/printclambda.cmx \
51715201
utils/misc.cmx \
@@ -5178,6 +5208,7 @@ middle_end/flambda/un_anf.cmx : \
51785208
parsing/asttypes.cmi \
51795209
middle_end/flambda/un_anf.cmi
51805210
middle_end/flambda/un_anf.cmi : \
5211+
middle_end/symbol.cmi \
51815212
middle_end/clambda.cmi
51825213
middle_end/flambda/unbox_closures.cmo : \
51835214
middle_end/variable.cmi \
@@ -5695,6 +5726,7 @@ driver/optcompile.cmo : \
56955726
utils/config.cmi \
56965727
middle_end/compilenv.cmi \
56975728
driver/compile_common.cmi \
5729+
middle_end/closure/closure_middle_end.cmi \
56985730
utils/clflags.cmi \
56995731
asmcomp/asmgen.cmi \
57005732
driver/optcompile.cmi
@@ -5709,6 +5741,7 @@ driver/optcompile.cmx : \
57095741
utils/config.cmx \
57105742
middle_end/compilenv.cmx \
57115743
driver/compile_common.cmx \
5744+
middle_end/closure/closure_middle_end.cmx \
57125745
utils/clflags.cmx \
57135746
asmcomp/asmgen.cmx \
57145747
driver/optcompile.cmi
@@ -5912,6 +5945,7 @@ toplevel/opttoploop.cmo : \
59125945
driver/compmisc.cmi \
59135946
middle_end/compilenv.cmi \
59145947
driver/compenv.cmi \
5948+
middle_end/closure/closure_middle_end.cmi \
59155949
utils/clflags.cmi \
59165950
typing/btype.cmi \
59175951
middle_end/backend_intf.cmi \
@@ -5958,6 +5992,7 @@ toplevel/opttoploop.cmx : \
59585992
driver/compmisc.cmx \
59595993
middle_end/compilenv.cmx \
59605994
driver/compenv.cmx \
5995+
middle_end/closure/closure_middle_end.cmx \
59615996
utils/clflags.cmx \
59625997
typing/btype.cmx \
59635998
middle_end/backend_intf.cmi \

Changes

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ OCaml 4.09.0
146146
(Mark Shinwell, review by Vincent Laviron)
147147

148148
- #2281: Move some middle-end files around
149-
(Mark Shinwell)
149+
(Mark Shinwell, review by Pierre Chambart and Vincent Laviron)
150150

151151
- #2283: Add [is_prefix] and [find_and_chop_longest_common_prefix] to
152152
[Misc.Stdlib.List]
@@ -159,6 +159,10 @@ OCaml 4.09.0
159159
- #2286: Functorise [Consistbl]
160160
(Mark Shinwell, review by Gabriel Radanne)
161161

162+
- #2288: Move middle end code from [Asmgen] to [Clambda_middle_end] and
163+
[Flambda_middle_end]. Run [Un_anf] from the middle end, not [Cmmgen].
164+
(Mark Shinwell, review by Pierre Chambart)
165+
162166
- #2291: Add [Compute_ranges] pass
163167
(Mark Shinwell, review by Vincent Laviron)
164168

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,8 @@ ASMCOMP=\
189189
# the native code compiler is not present for some particular target.
190190

191191
MIDDLE_END_CLOSURE=\
192-
middle_end/closure/closure.cmo
192+
middle_end/closure/closure.cmo \
193+
middle_end/closure/closure_middle_end.cmo
193194

194195
# Owing to dependencies through [Compilenv], which would be
195196
# difficult to remove, some of the lower parts of Flambda (anything that is

0 commit comments

Comments
 (0)