View Source beam_ssa_ss (compiler v8.5)
Summary
Types
-type call_in_arg_info() :: [call_in_arg_status()].
-type call_in_arg_status() :: no_info | unique | aliased | {unique, term()}.
-type element() :: hd | tl | non_neg_integer().
-type sharing_state() :: any().
-type sharing_status() :: unique | aliased.
Functions
-spec add_var(beam_ssa:b_var(), sharing_status(), sharing_state()) -> sharing_state().
-spec derive_from(beam_ssa:b_var(), beam_ssa:b_var(), sharing_state()) -> sharing_state().
-spec embed_in(beam_ssa:b_var(), [{element(), beam_ssa:b_var()}], sharing_state()) -> sharing_state().
-spec extract(beam_ssa:b_var(), beam_ssa:b_var(), element(), sharing_state()) -> sharing_state().
-spec get_status(beam_ssa:b_var(), sharing_state()) -> sharing_status().
-spec initialize_in_args([unique | aliased]) -> call_in_arg_info().
-spec meet_in_args([call_in_arg_status()]) -> call_in_arg_status().
-spec merge(sharing_state(), sharing_state()) -> sharing_state().
-spec merge_in_args([beam_ssa:b_var()], call_in_arg_info(), sharing_state()) -> call_in_arg_info().
-spec new() -> sharing_state().
-spec new([beam_ssa:b_var()], call_in_arg_info(), non_neg_integer()) -> sharing_state().
-spec prune(sets:set(beam_ssa:b_var()), sharing_state()) -> sharing_state().
-spec set_call_result(beam_ssa:b_var(), call_in_arg_status(), sharing_state(), non_neg_integer()) -> {sharing_state(), non_neg_integer()}.
-spec set_status(beam_ssa:b_var(), sharing_status(), sharing_state()) -> sharing_state().
-spec variables(sharing_state()) -> [beam_ssa:b_var()].