module ReturnUsage: sig
.. end
val debug : bool
module MapLval: Cil_datatype.Lval.Map
type
return_usage_by_lv = {
|
ret_callees : Kernel_function.Hptset.t ; |
|
ret_compared : Datatype.Integer.Set.t ; |
}
type
return_usage_per_fun = return_usage_by_lv MapLval.t
type
return_usage = Datatype.Integer.Set.t Kernel_function.Map.t
module RUDatatype: Kernel_function.Map.Make
(
Datatype.Integer.Set
)
val find_or_default : return_usage_by_lv MapLval.t ->
MapLval.key -> return_usage_by_lv
val add_call : return_usage_per_fun ->
Cil_types.lval option ->
Cil_types.exp -> return_usage_by_lv MapLval.t
val add_alias : return_usage_per_fun ->
MapLval.key ->
Cil_types.exp -> return_usage_by_lv MapLval.t
val add_compare_ct : return_usage_by_lv MapLval.t ->
Datatype.Integer.Set.elt ->
Cil_types.lval -> return_usage_by_lv MapLval.t
val add_compare : return_usage_per_fun ->
Cil_types.exp -> return_usage_by_lv MapLval.t
val add_direct_comparison : return_usage_by_lv MapLval.t ->
Cil_types.exp -> return_usage_by_lv MapLval.t
val summarize : return_usage_per_fun ->
return_usage
class visitorVarUsage :
object
.. end
val compute : Cil_types.file -> return_usage