Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / codegen / amd64-codegen / amd64-simplify.sig
1 (* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2008 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 AMD64_SIMPLIFY_STRUCTS =
11 sig
12 structure amd64 : AMD64
13 structure amd64Liveness : AMD64_LIVENESS
14 sharing amd64 = amd64Liveness.amd64
15 structure amd64JumpInfo : AMD64_JUMP_INFO
16 sharing amd64 = amd64JumpInfo.amd64
17 structure amd64EntryTransfer : AMD64_ENTRY_TRANSFER
18 sharing amd64 = amd64EntryTransfer.amd64
19 end
20
21 signature AMD64_SIMPLIFY =
22 sig
23 include AMD64_SIMPLIFY_STRUCTS
24
25 val simplify : {chunk : amd64.Chunk.t,
26 optimize : int,
27 delProfileLabel : amd64.ProfileLabel.t -> unit,
28 liveInfo : amd64Liveness.LiveInfo.t,
29 jumpInfo : amd64JumpInfo.t} -> amd64.Chunk.t
30
31 val simplify_totals : unit -> unit
32 end