let select_entry_point_and_some_inputs_outputs set ~mark kf ~return ~outputs ~inputs =
SlicingParameters.debug ~level:3
"select_entry_point_and_some_inputs_outputs %a"
Kernel_function.pretty kf ;
let set = let selection = !Db.Slicing.Select.select_entry_point_internal kf mark in
add_to_selection set selection
in
let set =
if (Locations.Zone.equal Locations.Zone.bottom outputs)
then set
else let selection = !Db.Slicing.Select.select_modified_output_zone_internal kf outputs mark in
add_to_selection set selection
in
let set =
if (Locations.Zone.equal Locations.Zone.bottom inputs)
then set
else let selection = !Db.Slicing.Select.select_zone_at_entry_point_internal kf inputs mark in
add_to_selection set selection
in if return
then let selection = !Db.Slicing.Select.select_return_internal kf mark in
add_to_selection set selection
else set