summaryrefslogtreecommitdiff
path: root/asmcomp/asmgen.mli
blob: 721010b9df232d46cb06d7c351b715233b73d376 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
(***********************************************************************)
(*                                                                     *)
(*                                OCaml                                *)
(*                                                                     *)
(*            Xavier Leroy, projet Cristal, INRIA Rocquencourt         *)
(*                                                                     *)
(*  Copyright 1996 Institut National de Recherche en Informatique et   *)
(*  en Automatique.  All rights reserved.  This file is distributed    *)
(*  under the terms of the Q Public License version 1.0.               *)
(*                                                                     *)
(***********************************************************************)

(* From lambda to assembly code *)

val compile_implementation_flambda :
    ?toplevel:(string -> bool) ->
    source_provenance:Timings.source_provenance ->
    string ->
    backend:(module Backend_intf.S) ->
    Format.formatter -> Flambda.program -> unit

val compile_implementation_clambda :
    ?toplevel:(string -> bool) ->
    source_provenance:Timings.source_provenance ->
    string ->
    Format.formatter -> Lambda.program -> unit

val compile_phrase :
    Format.formatter -> Cmm.phrase -> unit

type error = Assembler_error of string
exception Error of error
val report_error: Format.formatter -> error -> unit


val compile_unit:
  source_provenance:Timings.source_provenance ->
  string(*prefixname*) ->
  string(*asm file*) -> bool(*keep asm*) ->
  string(*obj file*) -> (unit -> unit) -> unit