You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
714 B
28 lines
714 B
(*
|
|
* Copyright (c) 2018-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*)
|
|
|
|
(** Abstract domain *)
|
|
|
|
type t
|
|
|
|
val pp : t pp
|
|
val init : Global.t vector -> t
|
|
val join : t -> t -> t
|
|
val assume : t -> Exp.t -> t option
|
|
val exec_inst : t -> Llair.inst -> (t, unit) result
|
|
|
|
val exec_intrinsic :
|
|
t -> Var.t option -> Var.t -> Exp.t list -> (t, unit) result option
|
|
|
|
type from_call [@@deriving compare, equal, sexp]
|
|
|
|
val call : t -> Exp.t list -> Var.t list -> Var.Set.t -> t * from_call
|
|
val retn : Var.Set.t -> from_call -> t -> t
|
|
|
|
val resolve_callee :
|
|
(Var.t -> Llair.func list) -> Exp.t -> t -> Llair.func list
|