module Deadcodeelim: sig
.. end
module RD: Reachingdefs
module UD: Usedef
module IH: Inthash
module S: sig
.. end
module IS: Set.Make
(
sig
type
t = int
val compare : Datatype.Int.t -> Datatype.Int.t -> int
end
)
val debug : bool Pervasives.ref
val doTime : bool Pervasives.ref
val time : 'a -> ('b -> 'c) -> 'b -> 'c
val callHasNoSideEffects : (Cil_types.instr -> bool) Pervasives.ref
val usedDefsSet : IS.t Pervasives.ref
val defUseSetHash : IS.t IH.t
val sidUseSetHash : IS.t IH.t
class usedDefsCollectorClass :
object
.. end
class hasVolatile : bool Pervasives.ref ->
object
.. end
val exp_has_volatile : Cil_types.exp -> bool
val el_has_volatile : Cil_types.exp list -> bool
val compareExp : Cil_types.exp -> Cil_types.exp -> bool
val compareLval : Cil_types.lval -> Cil_types.lval -> bool
val stripNopCasts : Cil_types.exp -> Cil_types.exp
val compareExpStripCasts : Cil_types.exp -> Cil_types.exp -> bool
val removedCount : int Pervasives.ref
class uselessInstrElim :
(
object
Inherits
method vstmt : RD.ReachingDef.StmtStartData.key ->
Cil_types.stmt Cil.visitAction
end
:
object ... end
)
val elim_dead_code_fp : Cil_types.fundec -> Cil_types.fundec
val elim_dead_code : Cil_types.fundec -> Cil_types.fundec
class deadCodeElimClass :
(
object
Inherits
method vfunc : Cil_types.fundec -> Cil_types.fundec Cil.visitAction
end
:
object ... end
)
val dce : Cil_types.file -> unit