Module InferModules.ProcCfg

module type Node = sig ... end
module type S = sig ... end
module DefaultNode : Node with type t = InferIR.Procdesc.Node.t and type id = InferIR.Procdesc.Node.id
module InstrNode : sig ... end
module Normal : S with type t = InferIR.Procdesc.t and module Node = DefaultNode and type instrs_dir = InferIR.Instrs.not_reversed

Forward CFG with no exceptional control-flow

module Exceptional : S with type t = InferIR.Procdesc.t * DefaultNode.t list InferIR.Procdesc.IdMap.t and module Node = DefaultNode and type instrs_dir = InferIR.Instrs.not_reversed

Forward CFG with exceptional control-flow

module Backward : functor (Base : S with type instrs_dir = InferIR.Instrs.not_reversed) -> S with type t = Base.t and module Node = Base.Node and type instrs_dir = InferIR.Instrs.reversed

Wrapper that reverses the direction of the CFG

module OneInstrPerNode : functor (Base : S with module Node = DefaultNode) -> sig ... end
module NormalOneInstrPerNode : module type of sig ... end
module MakeOcamlGraph : functor (Base : S) -> sig ... end