sig
val name : string
val debug : bool
type t = Cil_types.exp Availexpslv.LvExpHash.t
module StmtStartData :
sig
type data = Cil_types.exp LvExpHash.t
val clear : unit -> unit
val mem : Cil_types.stmt -> bool
val find : Cil_types.stmt -> data
val replace : Cil_types.stmt -> data -> unit
val add : Cil_types.stmt -> data -> unit
val iter : (Cil_types.stmt -> data -> unit) -> unit
val length : unit -> int
end
val copy : 'a Availexpslv.LvExpHash.t -> 'a Availexpslv.LvExpHash.t
val pretty :
Format.formatter -> Cil_types.exp Availexpslv.LvExpHash.t -> unit
val computeFirstPredecessor : 'a -> 'b -> 'b
val combinePredecessors :
Cil_types.stmt ->
old:Availexpslv.AvailableExps.t ->
Availexpslv.AvailableExps.t ->
Cil_types.exp Availexpslv.LvExpHash.t option
val doInstr :
'a ->
Cil_types.instr ->
Cil_types.exp Availexpslv.LvExpHash.t ->
Cil_types.exp Availexpslv.LvExpHash.t
val doStmt : 'a -> 'b -> 'c Dataflow2.stmtaction
val doGuard :
'a -> 'b -> 'c -> 'd Dataflow2.guardaction * 'e Dataflow2.guardaction
val doEdge : 'a -> 'b -> 'c -> 'c
end