Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / backend / live.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 * Copyright (C) 1997-2000 NEC Research Institute.
4 *
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
7 *)
8
9signature LIVE_STRUCTS =
10 sig
11 include RSSA
12 end
13
14signature LIVE =
15 sig
16 include LIVE_STRUCTS
17
18 val live:
19 Function.t * {shouldConsider: Var.t -> bool}
20 -> {labelLive:
21 Label.t -> {(* live at beginning of block. *)
22 begin: Var.t vector,
23 (* live at the beginning of a block, except formals. *)
24 beginNoFormals: Var.t vector,
25 (* live handler slots at beginning of block. *)
26 handler: Label.t option,
27 link: bool},
28 remLabelLive: Label.t -> unit}
29 end