Module IR.Specialization

module F = Stdlib.Format
module HeapPath : sig ... end
module Pulse : sig ... end
type t =
  1. | Pulse of Pulse.t

Summary specialization is a technique that permits to increase the precision of summary by specializing them to calling context. Each analysis can choose its notion of specialization. The interprocedural engine will reanalyze a procedure if it needs specialization and it will add the obtained specialized summary to the summaries stored for this procedure. This techique avoids cloning procedures.

include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_hash_lib.Hashable.S with type t := t
val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val pp : F.formatter -> t -> unit