Module Flambda2_reaper.Points_to_analysis
module Relations : sig ... endval add_usages_through_function_slots :
follow_known_arity_calls:bool ->
Flambda2_datalog.Datalog.database ->
usages ->
usagesval compute_usages_by_function_slots_not_following_known_arity_calls :
Flambda2_datalog.Datalog.database ->
usages ->
Flambda2_identifiers.Function_slot.t ->
usages Flambda2_identifiers.Function_slot.Map.t
Flambda2_lattices.Or_unknown.tval get_direct_usages :
Flambda2_datalog.Datalog.database ->
unit Flambda2_identifiers.Code_id_or_name.Map.t ->
usagesval get_direct_sources :
Flambda2_datalog.Datalog.database ->
unit Flambda2_identifiers.Code_id_or_name.Map.t ->
sourcesval get_one_field_usage :
Flambda2_datalog.Datalog.database ->
Field.t ->
usages ->
unit Flambda2_identifiers.Code_id_or_name.Map.t
Flambda2_lattices.Or_unknown_or_bottom.tval get_fields :
Flambda2_datalog.Datalog.database ->
usages ->
unit Flambda2_identifiers.Code_id_or_name.Map.t
Flambda2_lattices.Or_unknown.t
Field.Map.tval get_one_field_usage_of_constructors :
Flambda2_datalog.Datalog.database ->
unit Flambda2_identifiers.Code_id_or_name.Map.t ->
Field.t ->
unit Flambda2_identifiers.Code_id_or_name.Map.t
Flambda2_lattices.Or_unknown_or_bottom.tval get_fields_usage_of_constructors :
Flambda2_datalog.Datalog.database ->
unit Flambda2_identifiers.Code_id_or_name.Map.t ->
unit Flambda2_identifiers.Code_id_or_name.Map.t
Flambda2_lattices.Or_unknown.t
Field.Map.ttype set_of_closures_def = | Not_a_set_of_closures| Set_of_closures of (Flambda2_identifiers.Function_slot.t * Flambda2_identifiers.Code_id_or_name.t) list
val get_set_of_closures_def :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
set_of_closures_defval any_usage :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
boolval any_source :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
boolval has_use :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
boolval field_used :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
Field.t ->
boolval not_local_field_has_source :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
Field.t ->
boolval has_source_query :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
boolval code_id_actually_directly_called :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Name.t ->
Flambda2_identifiers.Code_id.Set.t Flambda2_lattices.Or_unknown.tval arguments_used_by_known_arity_call :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
'a list ->
('a * keep_or_delete) listval arguments_used_by_unknown_arity_call :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
'a list list ->
('a * keep_or_delete) list listval get_single_field_source :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
Field.t ->
single_field_sourceval get_allocation_point :
Flambda2_datalog.Datalog.database ->
Flambda2_identifiers.Code_id_or_name.t ->
Flambda2_identifiers.Code_id_or_name.t optionval perform_analysis :
Flambda2_datalog.Datalog.database ->
stats:Flambda2_datalog.Datalog.Schedule.stats ->
Flambda2_datalog.Datalog.database