Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / codegen / amd64-codegen / amd64-generate-transfers.sig
... / ...
CommitLineData
1(* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2007 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
10signature AMD64_GENERATE_TRANSFERS_STRUCTS =
11 sig
12 structure amd64 : AMD64
13 structure amd64MLton : AMD64_MLTON
14 sharing amd64 = amd64MLton.amd64
15 structure amd64Liveness : AMD64_LIVENESS
16 sharing amd64 = amd64Liveness.amd64
17 structure amd64JumpInfo : AMD64_JUMP_INFO
18 sharing amd64 = amd64JumpInfo.amd64
19 structure amd64LoopInfo : AMD64_LOOP_INFO
20 sharing amd64 = amd64LoopInfo.amd64
21 structure amd64EntryTransfer : AMD64_ENTRY_TRANSFER
22 sharing amd64 = amd64EntryTransfer.amd64
23 end
24
25signature AMD64_GENERATE_TRANSFERS =
26 sig
27 include AMD64_GENERATE_TRANSFERS_STRUCTS
28
29 val generateTransfers:
30 {chunk: amd64.Chunk.t,
31 optimize: int,
32 newProfileLabel: amd64.ProfileLabel.t -> amd64.ProfileLabel.t,
33 liveInfo: amd64Liveness.LiveInfo.t,
34 jumpInfo: amd64JumpInfo.t,
35 reserveRsp: bool} -> amd64.Assembly.t list list
36 val generateTransfers_totals : unit -> unit
37 end