View Source beam_ssa_ss (compiler v8.5)

Summary

Types

Link to this type

call_in_arg_info()

View Source (not exported)
-type call_in_arg_info() :: [call_in_arg_status()].
Link to this type

call_in_arg_status()

View Source (not exported)
-type call_in_arg_status() :: no_info | unique | aliased | {unique, term()}.
Link to this type

element()

View Source (not exported)
-type element() :: hd | tl | non_neg_integer().
Link to this type

sharing_state()

View Source (not exported)
-type sharing_state() :: any().
Link to this type

sharing_status()

View Source (not exported)
-type sharing_status() :: unique | aliased.

Functions

Link to this function

add_var(V, Status, State)

View Source
-spec add_var(beam_ssa:b_var(), sharing_status(), sharing_state()) -> sharing_state().
Link to this function

derive_from(Dst, Src, State)

View Source
-spec derive_from(beam_ssa:b_var(), beam_ssa:b_var(), sharing_state()) -> sharing_state().
Link to this function

embed_in(Dst, Elements, State0)

View Source
-spec embed_in(beam_ssa:b_var(), [{element(), beam_ssa:b_var()}], sharing_state()) -> sharing_state().
Link to this function

extract(Dst, Src, Element, State)

View Source
-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().
Link to this function

initialize_in_args(ArgInfo)

View Source
-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().
Link to this function

new(Args, ArgsInfo, Cnt)

View Source
-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()].