Llair.Term
type t = term
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
val pp : t NS.pp
val pp_callee : callee NS.pp
val invariant : ?parent:func -> t -> unit
val goto : dst:jump -> loc:Loc.t -> term
Construct a Switch representing an unconditional branch.
Switch
val branch : key:Exp.t -> nzero:jump -> zero:jump -> loc:Loc.t -> term
Construct a Switch representing a conditional branch.
val switch : key:Exp.t -> tbl:(Exp.t * jump) NS.iarray -> els:jump -> loc:Loc.t -> term
val iswitch : ptr:Exp.t -> tbl:jump NS.iarray -> loc:Loc.t -> term
val call : name:string -> typ:Typ.t -> actuals:Exp.t NS.iarray -> areturn:Reg.t option -> return:jump -> throw:jump option -> loc:Loc.t -> term * (callee:func -> unit)
val icall : callee:Exp.t -> typ:Typ.t -> actuals:Exp.t NS.iarray -> areturn:Reg.t option -> return:jump -> throw:jump option -> loc:Loc.t -> term * (candidates:func NS.iarray -> unit)
val intrinsic : callee:Intrinsic.t -> typ:Typ.t -> actuals:Exp.t NS.iarray -> areturn:Reg.t option -> return:jump -> throw:jump option -> loc:Loc.t -> term
val return : exp:Exp.t option -> loc:Loc.t -> term
val throw : exc:Exp.t -> loc:Loc.t -> term
val unreachable : term
val abort : loc:Loc.t -> term
val loc : term -> Loc.t