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 591 - (download) (as text) (annotate)
Mon Apr 3 01:19:20 2000 UTC (19 years, 9 months ago) by leunga
File size: 1483 byte(s)

   1. Renamed the constructor CALL in MLTREE by popular demand.
   2. Added a bunch of files from my repository.  These are currently
      used by other non-SMLNJ backends.
(*
 * 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, 
                  label   : Label.label -> 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 *) 
   val defUseWithCellKind : 
                { immed   : int -> C.cell, 
                  label   : Label.label -> 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