File: regionBuilder.sig

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (29 lines) | stat: -rw-r--r-- 868 bytes parent folder | download | duplicates (6)
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
(*
 * This module partitions the IR according to some partitioning criteria
 * and frequency.  This is used mainly for global scheduling.
 *
 * -- Allen
 *)

signature REGION_BUILDER =
sig
    structure IR : MLRISC_IR

    val regionBuilder : 
        { maxBlocks         : int,
          maxInstrs         : int,
          minFreqRatio      : real,
          sideEntries       : bool,  (* can the region has side entries *)
          traceOnly         : bool,  (* no splits or merges? *)
          internalBackEdges : bool,  (* can the region has internal back edges*)
          insertDummyBlocks : bool
        } ->
        IR.IR -> 
        ({ir     : IR.IR,   (* The entire program *)
          region : IR.cfg,  (* The subregion in question *)
          numberOfInstructions : int,
          blockIdTbl : int Array.array
         } -> unit
        ) -> unit

end