Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/src/MLRISC/mltree/rtl-props.sig
ViewVC logotype

View of /sml/trunk/src/MLRISC/mltree/rtl-props.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 657 - (download) (as text) (annotate)
Fri Jun 9 05:20:54 2000 UTC (19 years, 6 months ago) by leunga
File size: 1475 byte(s)

     None of these changes should affect SML/NJ.  See HISTORY file for details.
     CVS Tag=leunga-20000609-various
(*
 * Extract properties from RTLs
 *)
signature RTL_PROPERTIES =
sig

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

   datatype opnkind = 
     IMM  (* immed value *)
   | REG  (* normal register *)
   | FIX  (* fixed register *)
   | MEM  (* memory *)
   | CTRL (* control dependence *)

   (* Return the RTL describing the semantics of an instruction *)
   val rtl : I.instruction -> RTL.rtl  

   (* Return the def/use of an instruction.  *) 
   val defUse : { immed   : int -> C.cell, 
                  operand : I.operand -> C.cell
                } -> 
                I.instruction -> C.cell list * C.cell list (* dst/src *)

   (* Return the def/use of an instruction with cellkind information 
    * This function works the same way as the above.  But with cellkind
    * information attached.
    *) 
   val defUseWithCellKind : 
                { immed   : int -> C.cell, 
                  operand : I.operand -> C.cell
                } -> 
                I.instruction -> 
                (C.cell * C.cellkind) list * (C.cell * C.cellkind) list 


   (* Return the operand kinds of an instruction. *)
   val opnKind : I.instruction -> opnkind list * opnkind list (* dst/src *)

   (* Initialize the cellkinds of variables *)
   val updateCellKind : {update:C.cell * C.cellkind -> unit} -> 
                        I.instruction -> unit

end


root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0