Module Rmciltmps.RD


module RD: Reachingdefs

module DF: Dataflow
module UD: Usedef
module L: Liveness
module IH: Inthash
module S: sig .. end
val debug_fn : String.t Pervasives.ref
val doTime : bool Pervasives.ref
val time : 'a -> ('b -> 'c) -> 'b -> 'c
module IOS: Set.Make(sig
type t = int option 
val compare : Datatype.Int.t option -> Datatype.Int.t option -> int
end)
val debug : bool Pervasives.ref
val ih_inter : 'a IH.t -> 'b IH.t -> 'a IH.t
val ih_union : 'a IH.t -> 'a IH.t -> 'a IH.t
val iosh_singleton_lookup : IOS.t IH.t ->
Cil_types.varinfo -> IOS.elt
val iosh_lookup : 'a IH.t -> Cil_types.varinfo -> 'a option
val iosh_defId_find : IOS.t IH.t -> int -> int option
val iosh_combine : IOS.t IH.t ->
IOS.t IH.t -> IOS.t IH.t
val iosh_equals : IOS.t IH.t ->
IOS.t IH.t -> bool
val iosh_replace : IOS.t IH.t -> int -> Cil_types.varinfo -> unit
val iosh_filter_dead : 'a IH.t -> UD.VS.t -> unit
val proc_defs : UD.VS.t ->
IOS.t IH.t -> (unit -> int) -> unit
val idMaker : unit -> int -> unit -> int
val iRDsHtbl : (int * bool, (unit * int * IOS.t IH.t) list)
Hashtbl.t
val instrRDs : Cil_types.instr ->
int ->
'a * int * IOS.t IH.t ->
bool -> (unit * int * IOS.t IH.t) list

type rhs =
| RDExp of Cil_types.exp
| RDCall of Cil_types.instr
module ReachingDef: sig .. end
module RD: DF.ForwardsDataFlow(ReachingDef)
val rhsHtbl : (rhs * int * IOS.t IH.t) option
IH.t
val getDefRhs : Cil_types.stmt IH.t ->
int -> (rhs * int * IOS.t IH.t) option
val prettyprint : 'a -> 'b -> 'c -> unit -> 'd * 'e * 'f -> unit
val iosh_none_fill : IOS.t IH.t -> Cil_types.varinfo list -> unit
val clearMemos : unit -> unit
val computeRDs : Cil_types.fundec -> unit
val getRDs : int -> ReachingDef.StmtStartData.data option
val getDefIdStmt : int -> Cil_types.stmt option
val getStmt : int -> Cil_types.stmt option
val getSimpRhs : int -> rhs option
val isDefInstr : Cil_types.instr -> int -> bool
class rdVisitorClass : object .. end