Pulselib.PulseBaseStackmodule type S = sig ... endinclude S
with type value =
Pulselib.PulseBasicInterface.AbstractValue.t
* Pulselib.PulseBasicInterface.ValueHistory.tinclude IStdlib.PrettyPrintable.PPMonoMap
with type key = IR.Var.t
with type value =
Pulselib.PulseBasicInterface.AbstractValue.t
* Pulselib.PulseBasicInterface.ValueHistory.tinclude IStdlib.PrettyPrintable.MonoMap
with type key = IR.Var.t
with type value =
Pulselib.PulseBasicInterface.AbstractValue.t
* Pulselib.PulseBasicInterface.ValueHistory.ttype key = IR.Var.tval empty : tval is_empty : t -> boolval cardinal : t -> intval is_singleton_or_more :
t ->
(key * value) IStdlib.IContainer.singleton_or_moreinclude IStdlib.PrettyPrintable.PrintableType with type t := tval pp : IStdlib.PrettyPrintable.F.formatter -> t -> unitval pp_key : IStdlib.PrettyPrintable.F.formatter -> key -> unitval yojson_of_t : t -> Yojson.Safe.tval canonicalize :
get_var_repr:
(Pulselib.PulseBasicInterface.AbstractValue.t ->
Pulselib.PulseBasicInterface.AbstractValue.t) ->
t ->
t Pulselib.PulseBasicInterface.SatUnsat.treplace each address in the stack by its canonical representative according to the current equality relation, represented by get_var_repr