1 (* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 * Copyright (C) 1997-2000 NEC Research Institute.
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
9 signature X86_LIVE_TRANSFERS_STRUCTS =
12 structure x86Liveness : X86_LIVENESS
13 sharing x86 = x86Liveness.x86
14 structure x86JumpInfo : X86_JUMP_INFO
15 sharing x86 = x86JumpInfo.x86
16 structure x86LoopInfo : X86_LOOP_INFO
17 sharing x86 = x86LoopInfo.x86
20 signature X86_LIVE_TRANSFERS =
22 include X86_LIVE_TRANSFERS_STRUCTS
26 val computeLiveTransfers : {chunk : x86.Chunk.t,
27 transferRegs : x86.Entry.t -> x86.Register.t list,
28 transferFltRegs : x86.Entry.t -> Int.t,
29 liveInfo : x86Liveness.LiveInfo.t,
30 jumpInfo : x86JumpInfo.t,
31 loopInfo : x86LoopInfo.t} -> t
32 val computeLiveTransfers_totals : unit -> unit
34 val getLiveTransfers : t * x86.Label.t ->
35 ((x86.MemLoc.t * x86.Register.t * bool) list *
36 (x86.MemLoc.t * bool) list)
37 val setLiveTransfersEmpty : t * x86.Label.t -> unit