38 lines
1.6 KiB
OCaml
38 lines
1.6 KiB
OCaml
(**************************************************************************)
|
|
(* *)
|
|
(* OCaml *)
|
|
(* *)
|
|
(* Mark Shinwell, Jane Street Europe *)
|
|
(* *)
|
|
(* Copyright 2016--2017 Jane Street Group LLC *)
|
|
(* *)
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
(* special exception on linking described in the file LICENSE. *)
|
|
(* *)
|
|
(**************************************************************************)
|
|
|
|
(** Register availability sets. *)
|
|
|
|
type t =
|
|
| Ok of Reg_with_debug_info.Set.t
|
|
| Unreachable
|
|
|
|
val inter : t -> t -> t
|
|
(** Intersection of availabilities. *)
|
|
|
|
val canonicalise : t -> t
|
|
(** Return a subset of the given availability set which contains no registers
|
|
that are not associated with debug info (and holding values of
|
|
non-persistent identifiers); and where no two registers share the same
|
|
location. *)
|
|
|
|
val equal : t -> t -> bool
|
|
|
|
val print
|
|
: print_reg:(Format.formatter -> Reg.t -> unit)
|
|
-> Format.formatter
|
|
-> t
|
|
-> unit
|
|
(** For debugging purposes only. *)
|