Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / mlton / backend / backend.sig
1 (* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 * Copyright (C) 1997-2000 NEC Research Institute.
5 *
6 * MLton is released under a BSD-style license.
7 * See the file MLton-LICENSE for details.
8 *)
9
10 signature BACKEND_STRUCTS =
11 sig
12 structure Machine: MACHINE
13 structure Ssa: SSA2
14 sharing Machine.Atoms = Ssa.Atoms
15
16 val funcToLabel: Ssa.Func.t -> Machine.Label.t
17 end
18
19 signature BACKEND =
20 sig
21 include BACKEND_STRUCTS
22
23 val toMachine:
24 Ssa.Program.t
25 * {codegenImplementsPrim: Machine.Type.t Machine.Prim.t -> bool}
26 -> Machine.Program.t
27 end