module F_Proj:
To also use interprocedural propagation, the user can instantiate this
functor. This is, of course, not mandatory because one can want to use a more
complex propagation (like slicing for instance, that has more than one
version for a source function).
type
mark = C.M.t
type
call_info = C.M.call_info
type
fct = F.fi
type
t = fct_info Cil_datatype.Varinfo.Hashtbl.t
val empty : unit -> 'a Cil_datatype.Varinfo.Hashtbl.t
val find_marks : F.t Cil_datatype.Varinfo.Hashtbl.t ->
Cil_datatype.Varinfo.Hashtbl.key -> F.fi option
val mark_and_propagate : F.t Cil_datatype.Varinfo.Hashtbl.t ->
Db.Pdg.t -> F.mark PdgMarks.select -> unit
Add the marks to the pdg nodes and also apply all the produced requests
to do the interprocedural propagation.