Skip to content

Avoid sets of simples #386

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
May 7, 2021
48 changes: 26 additions & 22 deletions .depend
Original file line number Diff line number Diff line change
Expand Up @@ -2028,11 +2028,9 @@ asmcomp/afl_instrument.cmi : \
asmcomp/cmm.cmi
asmcomp/arch.cmo : \
utils/config.cmi \
asmcomp/cmm.cmi \
utils/clflags.cmi
asmcomp/arch.cmx : \
utils/config.cmx \
asmcomp/cmm.cmx \
utils/clflags.cmx
asmcomp/asmgen.cmo : \
middle_end/flambda/to_cmm/un_cps.cmi \
Expand Down Expand Up @@ -4424,17 +4422,20 @@ middle_end/flambda/basic/name.cmo : \
middle_end/flambda/compilenv_deps/symbol.cmi \
middle_end/flambda/compilenv_deps/reg_width_things.cmi \
utils/misc.cmi \
utils/identifiable.cmi \
middle_end/flambda/basic/name.cmi
middle_end/flambda/basic/name.cmx : \
middle_end/flambda/compilenv_deps/variable.cmx \
middle_end/flambda/compilenv_deps/symbol.cmx \
middle_end/flambda/compilenv_deps/reg_width_things.cmx \
utils/misc.cmx \
utils/identifiable.cmx \
middle_end/flambda/basic/name.cmi
middle_end/flambda/basic/name.cmi : \
middle_end/flambda/compilenv_deps/variable.cmi \
middle_end/flambda/compilenv_deps/symbol.cmi \
middle_end/flambda/compilenv_deps/reg_width_things.cmi \
utils/identifiable.cmi \
middle_end/flambda/compilenv_deps/compilation_unit.cmi
middle_end/flambda/basic/num_continuation_uses.cmo : \
middle_end/flambda/basic/num_continuation_uses.cmi
Expand Down Expand Up @@ -4974,23 +4975,27 @@ middle_end/flambda/from_lambda/closure_conversion_aux.cmi : \
middle_end/flambda/basic/closure_id.cmi \
middle_end/flambda/naming/bindable_let_bound.cmi
middle_end/flambda/from_lambda/cps_conversion.cmo : \
lambda/tag.cmi \
lambda/printlambda.cmi \
middle_end/flambda/from_lambda/prepare_lambda.cmi \
typing/primitive.cmi \
utils/numbers.cmi \
utils/misc.cmi \
parsing/location.cmi \
middle_end/flambda/from_lambda/lambda_conversions.cmi \
lambda/lambda.cmi \
middle_end/flambda/from_lambda/ilambda.cmi \
typing/ident.cmi \
middle_end/flambda/basic/continuation.cmi \
parsing/asttypes.cmi \
middle_end/flambda/from_lambda/cps_conversion.cmi
middle_end/flambda/from_lambda/cps_conversion.cmx : \
lambda/tag.cmx \
lambda/printlambda.cmx \
middle_end/flambda/from_lambda/prepare_lambda.cmx \
typing/primitive.cmx \
utils/numbers.cmx \
utils/misc.cmx \
parsing/location.cmx \
middle_end/flambda/from_lambda/lambda_conversions.cmx \
lambda/lambda.cmx \
middle_end/flambda/from_lambda/ilambda.cmx \
typing/ident.cmx \
Expand Down Expand Up @@ -5188,11 +5193,9 @@ middle_end/flambda/from_lambda/prepare_lambda.cmo : \
lambda/tag.cmi \
lambda/simplif.cmi \
lambda/printlambda.cmi \
typing/primitive.cmi \
utils/numbers.cmi \
utils/misc.cmi \
lambda/matching.cmi \
middle_end/flambda/from_lambda/lambda_conversions.cmi \
lambda/lambda.cmi \
typing/ident.cmi \
middle_end/flambda/compilenv_deps/compilation_unit.cmi \
Expand All @@ -5202,11 +5205,9 @@ middle_end/flambda/from_lambda/prepare_lambda.cmx : \
lambda/tag.cmx \
lambda/simplif.cmx \
lambda/printlambda.cmx \
typing/primitive.cmx \
utils/numbers.cmx \
utils/misc.cmx \
lambda/matching.cmx \
middle_end/flambda/from_lambda/lambda_conversions.cmx \
lambda/lambda.cmx \
typing/ident.cmx \
middle_end/flambda/compilenv_deps/compilation_unit.cmx \
Expand Down Expand Up @@ -6067,6 +6068,7 @@ middle_end/flambda/simplify/common_subexpression_elimination.cmo : \
middle_end/flambda/compilenv_deps/flambda_features.cmi \
middle_end/flambda/basic/continuation_extra_params_and_args.cmi \
middle_end/flambda/basic/apply_cont_rewrite_id.cmi \
middle_end/flambda/types/env/aliases.cmi \
middle_end/flambda/simplify/common_subexpression_elimination.cmi
middle_end/flambda/simplify/common_subexpression_elimination.cmx : \
middle_end/flambda/compilenv_deps/variable.cmx \
Expand All @@ -6084,6 +6086,7 @@ middle_end/flambda/simplify/common_subexpression_elimination.cmx : \
middle_end/flambda/compilenv_deps/flambda_features.cmx \
middle_end/flambda/basic/continuation_extra_params_and_args.cmx \
middle_end/flambda/basic/apply_cont_rewrite_id.cmx \
middle_end/flambda/types/env/aliases.cmx \
middle_end/flambda/simplify/common_subexpression_elimination.cmi
middle_end/flambda/simplify/common_subexpression_elimination.cmi : \
middle_end/flambda/basic/simple.cmi \
Expand Down Expand Up @@ -6629,6 +6632,7 @@ middle_end/flambda/simplify/simplify_import.cmo : \
middle_end/flambda/simplify/env/upwards_env.cmi \
middle_end/flambda/simplify/env/upwards_acc.cmi \
middle_end/flambda/simplify/simplify_simple.cmi \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/simplify/rebuilt_expr.cmi \
middle_end/flambda/naming/name_mode.cmi \
middle_end/flambda/lifting/lifted_constant_state.cmi \
Expand All @@ -6652,6 +6656,7 @@ middle_end/flambda/simplify/simplify_import.cmx : \
middle_end/flambda/simplify/env/upwards_env.cmx \
middle_end/flambda/simplify/env/upwards_acc.cmx \
middle_end/flambda/simplify/simplify_simple.cmx \
middle_end/flambda/basic/reg_width_const.cmx \
middle_end/flambda/simplify/rebuilt_expr.cmx \
middle_end/flambda/naming/name_mode.cmx \
middle_end/flambda/lifting/lifted_constant_state.cmx \
Expand All @@ -6675,6 +6680,7 @@ middle_end/flambda/simplify/simplify_import.cmi : \
middle_end/flambda/simplify/env/upwards_env.cmi \
middle_end/flambda/simplify/env/upwards_acc.cmi \
middle_end/flambda/simplify/simplify_simple.cmi \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/simplify/rebuilt_expr.cmi \
middle_end/flambda/naming/name_mode.cmi \
middle_end/flambda/lifting/lifted_constant_state.cmi \
Expand Down Expand Up @@ -9205,7 +9211,8 @@ middle_end/flambda/types/flambda_type.cmi : \
middle_end/flambda/basic/code_id.cmi \
middle_end/flambda/types/structures/code_age_relation.cmi \
middle_end/flambda/basic/closure_id.cmi \
middle_end/flambda/basic/apply_cont_rewrite_id.cmi
middle_end/flambda/basic/apply_cont_rewrite_id.cmi \
middle_end/flambda/types/env/aliases.cmi
middle_end/flambda/types/resolved_type.rec.cmo : \
middle_end/flambda/basic/reg_width_const.cmi \
middle_end/flambda/types/basic/or_unknown_or_bottom.cmi \
Expand Down Expand Up @@ -9233,6 +9240,7 @@ middle_end/flambda/types/type_descr.rec.cmo : \
middle_end/flambda/cmx/ids_for_export.cmi \
middle_end/flambda/compilenv_deps/flambda_colours.cmi \
utils/clflags.cmi \
middle_end/flambda/types/env/aliases.cmi \
middle_end/flambda/types/type_descr.rec.cmi
middle_end/flambda/types/type_descr.rec.cmx : \
middle_end/flambda/naming/with_delayed_permutation.cmx \
Expand All @@ -9250,6 +9258,7 @@ middle_end/flambda/types/type_descr.rec.cmx : \
middle_end/flambda/cmx/ids_for_export.cmx \
middle_end/flambda/compilenv_deps/flambda_colours.cmx \
utils/clflags.cmx \
middle_end/flambda/types/env/aliases.cmx \
middle_end/flambda/types/type_descr.rec.cmi
middle_end/flambda/types/type_descr.rec.cmi : \
middle_end/flambda/types/type_head_intf.cmo \
Expand Down Expand Up @@ -9517,21 +9526,25 @@ middle_end/flambda/types/env/aliases.cmo : \
middle_end/flambda/compilenv_deps/variable.cmi \
middle_end/flambda/basic/simple.cmi \
middle_end/flambda/naming/renaming.cmi \
middle_end/flambda/compilenv_deps/reg_width_things.cmi \
middle_end/flambda/naming/name_mode.cmi \
middle_end/flambda/basic/name.cmi \
utils/misc.cmi \
middle_end/flambda/cmx/ids_for_export.cmi \
middle_end/flambda/compilenv_deps/flambda_colours.cmi \
utils/clflags.cmi \
middle_end/flambda/types/env/binding_time.cmi \
middle_end/flambda/types/env/aliases.cmi
middle_end/flambda/types/env/aliases.cmx : \
middle_end/flambda/compilenv_deps/variable.cmx \
middle_end/flambda/basic/simple.cmx \
middle_end/flambda/naming/renaming.cmx \
middle_end/flambda/compilenv_deps/reg_width_things.cmx \
middle_end/flambda/naming/name_mode.cmx \
middle_end/flambda/basic/name.cmx \
utils/misc.cmx \
middle_end/flambda/cmx/ids_for_export.cmx \
middle_end/flambda/compilenv_deps/flambda_colours.cmx \
utils/clflags.cmx \
middle_end/flambda/types/env/binding_time.cmx \
middle_end/flambda/types/env/aliases.cmi
Expand Down Expand Up @@ -9567,10 +9580,12 @@ middle_end/flambda/types/env/join_env.rec.cmi : \
middle_end/flambda/basic/simple.cmi
middle_end/flambda/types/env/meet_env.rec.cmo : \
middle_end/flambda/basic/simple.cmi \
middle_end/flambda/basic/name.cmi \
utils/misc.cmi \
middle_end/flambda/types/env/meet_env.rec.cmi
middle_end/flambda/types/env/meet_env.rec.cmx : \
middle_end/flambda/basic/simple.cmx \
middle_end/flambda/basic/name.cmx \
utils/misc.cmx \
middle_end/flambda/types/env/meet_env.rec.cmi
middle_end/flambda/types/env/meet_env.rec.cmi : \
Expand Down Expand Up @@ -9639,7 +9654,8 @@ middle_end/flambda/types/env/typing_env.rec.cmi : \
middle_end/flambda/compilenv_deps/compilation_unit.cmi \
middle_end/flambda/basic/code_id.cmi \
middle_end/flambda/types/structures/code_age_relation.cmi \
middle_end/flambda/basic/apply_cont_rewrite_id.cmi
middle_end/flambda/basic/apply_cont_rewrite_id.cmi \
middle_end/flambda/types/env/aliases.cmi
middle_end/flambda/types/env/typing_env_extension.rec.cmo : \
middle_end/flambda/compilenv_deps/variable.cmi \
middle_end/flambda/naming/renaming.cmi \
Expand Down Expand Up @@ -10154,25 +10170,21 @@ middle_end/flambda/types/type_of_kind/boilerplate/type_of_kind_value.rec.cmi : \
middle_end/flambda/types/type_descr_intf.cmo
middle_end/flambda/unboxing/build_unboxing_denv.cmo : \
middle_end/flambda/basic/var_within_closure.cmi \
middle_end/flambda/naming/var_in_binding_pos.cmi \
middle_end/flambda/unboxing/unboxing_types.cmi \
lambda/tag.cmi \
middle_end/flambda/simplify/simplify_import.cmi \
middle_end/flambda/basic/simple.cmi \
middle_end/flambda/naming/name_mode.cmi \
utils/misc.cmi \
middle_end/flambda/types/flambda_type.cmi \
middle_end/flambda/unboxing/build_unboxing_denv.cmi
middle_end/flambda/unboxing/build_unboxing_denv.cmx : \
middle_end/flambda/basic/var_within_closure.cmx \
middle_end/flambda/naming/var_in_binding_pos.cmx \
middle_end/flambda/unboxing/unboxing_types.cmx \
lambda/tag.cmx \
middle_end/flambda/simplify/simplify_import.cmx \
middle_end/flambda/basic/simple.cmx \
middle_end/flambda/naming/name_mode.cmx \
utils/misc.cmx \
middle_end/flambda/types/flambda_type.cmx \
middle_end/flambda/unboxing/build_unboxing_denv.cmi
middle_end/flambda/unboxing/build_unboxing_denv.cmi : \
middle_end/flambda/compilenv_deps/variable.cmi \
Expand Down Expand Up @@ -10207,7 +10219,6 @@ middle_end/flambda/unboxing/optimistic_unboxing_decision.cmo : \
middle_end/flambda/naming/name_in_binding_pos.cmi \
middle_end/flambda/basic/name.cmi \
utils/misc.cmi \
middle_end/flambda/types/flambda_type.cmi \
middle_end/flambda/unboxing/optimistic_unboxing_decision.cmi
middle_end/flambda/unboxing/optimistic_unboxing_decision.cmx : \
middle_end/flambda/basic/var_within_closure.cmx \
Expand All @@ -10222,7 +10233,6 @@ middle_end/flambda/unboxing/optimistic_unboxing_decision.cmx : \
middle_end/flambda/naming/name_in_binding_pos.cmx \
middle_end/flambda/basic/name.cmx \
utils/misc.cmx \
middle_end/flambda/types/flambda_type.cmx \
middle_end/flambda/unboxing/optimistic_unboxing_decision.cmi
middle_end/flambda/unboxing/optimistic_unboxing_decision.cmi : \
middle_end/flambda/unboxing/unboxing_types.cmi \
Expand Down Expand Up @@ -10256,7 +10266,6 @@ middle_end/flambda/unboxing/unbox_continuation_params.cmi : \
middle_end/flambda/simplify/env/continuation_env_and_param_types.cmi \
middle_end/flambda/basic/apply_cont_rewrite_id.cmi
middle_end/flambda/unboxing/unboxers.cmo : \
middle_end/flambda/unboxing/unboxing_types.cmi \
utils/targetint.cmi \
middle_end/flambda/compilenv_deps/target_imm.cmi \
middle_end/flambda/simplify/simplify_import.cmi \
Expand All @@ -10265,7 +10274,6 @@ middle_end/flambda/unboxing/unboxers.cmo : \
middle_end/flambda/naming/name_mode.cmi \
middle_end/flambda/unboxing/unboxers.cmi
middle_end/flambda/unboxing/unboxers.cmx : \
middle_end/flambda/unboxing/unboxing_types.cmx \
utils/targetint.cmx \
middle_end/flambda/compilenv_deps/target_imm.cmx \
middle_end/flambda/simplify/simplify_import.cmx \
Expand All @@ -10275,7 +10283,6 @@ middle_end/flambda/unboxing/unboxers.cmx : \
middle_end/flambda/unboxing/unboxers.cmi
middle_end/flambda/unboxing/unboxers.cmi : \
middle_end/flambda/basic/var_within_closure.cmi \
middle_end/flambda/unboxing/unboxing_types.cmi \
middle_end/flambda/compilenv_deps/target_imm.cmi \
middle_end/flambda/simplify/simplify_import.cmi \
middle_end/flambda/basic/simple.cmi \
Expand Down Expand Up @@ -10325,7 +10332,6 @@ middle_end/flambda/unboxing/unboxing_types.cmo : \
middle_end/flambda/basic/var_within_closure.cmi \
lambda/tag.cmi \
middle_end/flambda/simplify/simplify_import.cmi \
middle_end/flambda/compilenv_deps/reg_width_things.cmi \
middle_end/flambda/types/kinds/flambda_kind.cmi \
middle_end/flambda/basic/closure_id.cmi \
middle_end/flambda/basic/apply_cont_rewrite_id.cmi \
Expand All @@ -10335,7 +10341,6 @@ middle_end/flambda/unboxing/unboxing_types.cmx : \
middle_end/flambda/basic/var_within_closure.cmx \
lambda/tag.cmx \
middle_end/flambda/simplify/simplify_import.cmx \
middle_end/flambda/compilenv_deps/reg_width_things.cmx \
middle_end/flambda/types/kinds/flambda_kind.cmx \
middle_end/flambda/basic/closure_id.cmx \
middle_end/flambda/basic/apply_cont_rewrite_id.cmx \
Expand All @@ -10345,7 +10350,6 @@ middle_end/flambda/unboxing/unboxing_types.cmi : \
middle_end/flambda/basic/var_within_closure.cmi \
lambda/tag.cmi \
middle_end/flambda/simplify/simplify_import.cmi \
middle_end/flambda/compilenv_deps/reg_width_things.cmi \
middle_end/flambda/types/kinds/flambda_kind.cmi \
middle_end/flambda/basic/closure_id.cmi \
middle_end/flambda/basic/apply_cont_rewrite_id.cmi
Expand Down
2 changes: 0 additions & 2 deletions middle_end/flambda/basic/kinded_parameter.ml
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,6 @@ module List = struct

let name_set t = Name.Set.of_list (List.map Name.var (vars t))

let simple_set t = Simple.Set.of_list (simples t)

let rename t = List.map (fun t -> rename t) t

let arity t = List.map (fun t -> Flambda_kind.With_subkind.kind (kind t)) t
Expand Down
2 changes: 0 additions & 2 deletions middle_end/flambda/basic/kinded_parameter.mli
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@ module List : sig
(** As for [var_set] but returns a set of [Name]s. *)
val name_set : t -> Name.Set.t

val simple_set : t -> Simple.Set.t

val equal_vars : t -> Variable.t list -> bool

val rename : t -> t
Expand Down
8 changes: 8 additions & 0 deletions middle_end/flambda/basic/name.ml
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,11 @@ let must_be_symbol_opt t =
pattern_match t
~var:(fun _ -> None)
~symbol:(fun sym -> Some sym)

module Pair = struct
include Identifiable.Make_pair
(Reg_width_things.Name)
(Reg_width_things.Name)

type nonrec t = t * t
end
7 changes: 7 additions & 0 deletions middle_end/flambda/basic/name.mli
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,10 @@ val must_be_var_opt : t -> Variable.t option
val must_be_symbol_opt : t -> Symbol.t option

val rename : t -> t

module Pair : sig
type nonrec t = t * t

include Identifiable.S with type t := t
end

8 changes: 0 additions & 8 deletions middle_end/flambda/basic/simple.ml
Original file line number Diff line number Diff line change
Expand Up @@ -158,14 +158,6 @@ module List = struct
else result
end

module Pair = struct
include Identifiable.Make_pair
(Reg_width_things.Simple)
(Reg_width_things.Simple)

type nonrec t = t * t
end

module With_kind = struct
type nonrec t = t * Flambda_kind.t

Expand Down
6 changes: 0 additions & 6 deletions middle_end/flambda/basic/simple.mli
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,6 @@ module List : sig
include Identifiable.S with type t := t
end

module Pair : sig
type nonrec t = t * t

include Identifiable.S with type t := t
end

module With_kind : sig
type nonrec t = t * Flambda_kind.t

Expand Down
2 changes: 1 addition & 1 deletion middle_end/flambda/cmx/flambda_cmx_format.ml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ let create ~final_typing_env ~all_code ~exported_offsets ~used_closure_vars =
Variable.Map.empty
in
let simples =
Simple.Set.fold (fun simple simples ->
Reg_width_things.Simple.Set.fold (fun simple simples ->
Simple.Map.add simple (Simple.export simple) simples)
exported_ids.simples
Simple.Map.empty
Expand Down
Loading