module Register:sig..end
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 =
| |
Read |
| |
Write |
| |
Both |
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_typeOccurrence 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 : Stdlib.Format.formatter ->
Kernel_function.t option * Cil_types.kinstr -> unit
val print_one : Stdlib.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