Module Goblint_lib.Transform

Signatures and registry for transformations.

module M = Messages
type queries = {
  1. ask : ?node:Node.t -> GoblintCil.Cil.location -> Queries.ask;
  2. must_be_dead : Node.t -> bool;
  3. must_be_uncalled : GoblintCil.fundec -> bool;
  4. cfg_forward : MyCFG.cfg;
  5. cfg_backward : MyCFG.cfg;
  6. skipped_statements : Node.t -> MyCFG.edges -> Node.t -> GoblintCil.stmt list;
}

data about analysis available to queries

module type S = sig ... end
val h : (string, (module S)) Stdlib.Hashtbl.t
val register : (module S) -> unit
val run_transformations : ?file_output:bool -> GoblintCil.file -> string list -> queries -> unit
val run : GoblintCil.file -> string -> queries -> unit
module PartialEval : sig ... end