module Register: sig
.. end
Try to find lv
somewhere within a Cil value
module Occurrence_datatype: Datatype.Triple
(
Datatype.Option
(
Kernel_function
)
)
(
Cil_datatype.Kinstr
)
(
Cil_datatype.Lval
)
module Occurrences: sig
.. end
class occurrence :
object
.. end
type
access_type =
class is_sub_lval : Cil_datatype.Lval.t ->
object
.. end
Try to find lv
somewhere within a Cil value
val classify_accesses : 'a * Cil_types.kinstr * Cil_datatype.Lval.t -> access_type
Occurrence has found the given
lv
somewhere inside
ki
. We try to find
whether this was inside a read or a write operation. This is difficult to
do directly inside the
Register.occurrence
class, as the
vlval
method
has no information about the origin of the lval it was called on
val get : Cil_datatype.Varinfo.t -> Occurrence_datatype.t list
val d_ki : Format.formatter -> Kernel_function.t option * Cil_types.kinstr -> unit
val print_one : Format.formatter ->
Cil_types.varinfo ->
(Kernel_function.t option * Cil_types.kinstr * Cil_types.lval) list -> unit
val print_all : unit -> unit
val self : State.t
val get_last_result : unit ->
((Kernel_function.t option * Cil_types.kinstr *
(Cil_types.lhost * Cil_types.offset))
list * Cil_types.varinfo)
option
val get : Cil_datatype.Varinfo.t -> Occurrence_datatype.t list
val print_all : unit -> unit
val main : 'a -> unit