File: rtl-props.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 (34 lines) | stat: -rw-r--r-- 1,052 bytes parent folder | download | duplicates (5)
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
(*
 * Interface of rtl info extraction from instructions.
 * The code matching this interface is automatically generated by the MDL tool.
 *)
signature RTL_PROPERTIES =
sig

   structure I   : INSTRUCTIONS
   structure C   : CELLS
   structure RTL : MLTREE_RTL
   structure OT  : OPERAND_TABLE
      sharing I.C            = C
      sharing OT.I           = I
      sharing RTL.T          = I.T

   datatype value = 
     CELL    of C.cell    (* a single value *)
   | OPERAND of I.operand (* a complex operand *)

   (* Return the RTL describing the semantics of an instruction 
    * The rtl returned is in lambda-lifted form, i.e. it contains
    * references to PARAM n, which refers to the nth input or output parameter.
    *)
   val rtl : I.instruction -> RTL.rtl  

   (*
    *  Return the input/ouput parameters of an instruction. 
    *  The input/output matches positionally with the info returned by
    *  the function rtl.
    *) 
   val defUse : OT.valueNumberMethods -> I.instruction 
                   -> value list * value list

end