Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / codegen / llvm-codegen / llvm-codegen.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2013-2014 Matthew Fluet, Brian Leibig.
2 *
3 * MLton is released under a BSD-style license.
4 * See the file MLton-LICENSE for details.
5 *)
6
7signature LLVM_CODEGEN_STRUCTS =
8 sig
9 structure CCodegen: C_CODEGEN
10 structure Machine: MACHINE
11 sharing Machine = CCodegen.Machine
12 end
13
14signature LLVM_CODEGEN =
15 sig
16 include LLVM_CODEGEN_STRUCTS
17
18 val implementsPrim: 'a Machine.Prim.t -> bool
19 val output: {program: Machine.Program.t,
20 outputC: unit -> {file: File.t,
21 print: string -> unit,
22 done: unit -> unit},
23 outputLL: unit -> {file: File.t,
24 print: string -> unit,
25 done: unit -> unit}
26 } -> unit
27 end