package bap-std

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Kinds of instructions

type branch = [
  1. | `Conditional_branch
  2. | `Unconditional_branch
  3. | `Indirect_branch
]
val bin_shape_branch : Core_kernel.Bin_prot.Shape.t
val __bin_read_branch__ : (int -> branch) Core_kernel.Bin_prot.Read.reader
val compare_branch : branch -> branch -> int
val all_of_branch : branch list
val sexp_of_branch : branch -> Sexplib0.Sexp.t
val branch_of_sexp : Sexplib0.Sexp.t -> branch
val __branch_of_sexp__ : Sexplib0.Sexp.t -> branch
type affecting_control = [
  1. | branch
  2. | `Return
  3. | `Call
  4. | `Barrier
  5. | `Terminator
  6. | `May_affect_control_flow
]
val bin_shape_affecting_control : Core_kernel.Bin_prot.Shape.t
val bin_size_affecting_control : affecting_control Core_kernel.Bin_prot.Size.sizer
val bin_write_affecting_control : affecting_control Core_kernel.Bin_prot.Write.writer
val bin_read_affecting_control : affecting_control Core_kernel.Bin_prot.Read.reader
val __bin_read_affecting_control__ : (int -> affecting_control) Core_kernel.Bin_prot.Read.reader
val compare_affecting_control : affecting_control -> affecting_control -> int
val all_of_affecting_control : affecting_control list
val sexp_of_affecting_control : affecting_control -> Sexplib0.Sexp.t
val affecting_control_of_sexp : Sexplib0.Sexp.t -> affecting_control
val __affecting_control_of_sexp__ : Sexplib0.Sexp.t -> affecting_control
type having_side_effect = [
  1. | `May_load
  2. | `May_store
]
val bin_shape_having_side_effect : Core_kernel.Bin_prot.Shape.t
val bin_size_having_side_effect : having_side_effect Core_kernel.Bin_prot.Size.sizer
val bin_write_having_side_effect : having_side_effect Core_kernel.Bin_prot.Write.writer
val bin_read_having_side_effect : having_side_effect Core_kernel.Bin_prot.Read.reader
val __bin_read_having_side_effect__ : (int -> having_side_effect) Core_kernel.Bin_prot.Read.reader
val compare_having_side_effect : having_side_effect -> having_side_effect -> int
val all_of_having_side_effect : having_side_effect list
val sexp_of_having_side_effect : having_side_effect -> Sexplib0.Sexp.t
val having_side_effect_of_sexp : Sexplib0.Sexp.t -> having_side_effect
val __having_side_effect_of_sexp__ : Sexplib0.Sexp.t -> having_side_effect
include Core_kernel.Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader

This function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.

val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val compare : t -> t -> int
include Ppx_enumerate_lib.Enumerable.S with type t := t
val all : t list
val sexp_of_t : t -> Sexplib0.Sexp.t
val t_of_sexp : Sexplib0.Sexp.t -> t
val __t_of_sexp__ : Sexplib0.Sexp.t -> t