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

SCM Repository

[smlnj] Diff of /sml/trunk/src/MLRISC/mltree/mltree.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/mltree/mltree.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 428, Wed Sep 8 09:47:00 1999 UTC revision 429, Wed Sep 8 09:47:00 1999 UTC
# Line 5  Line 5 
5   *)   *)
6    
7  functor MLTreeF(structure Const : CONSTANT  functor MLTreeF(structure Const : CONSTANT
                 structure P : PSEUDO_OPS  
8                  structure R : REGION                  structure R : REGION
9                  structure B : BLOCK_NAMES                  structure S : INSTRUCTION_STREAM
10                  type rextension                  type rextension
11                  type fextension                  type fextension
12                 ) : MLTREE =                 ) : MLTREE =
13  struct  struct
14    structure Constant = Const    structure Constant = Const
15    structure PseudoOp = P    structure PseudoOp = S.P
16      structure BNames = S.B
17      structure Stream = S
18    structure Region = R    structure Region = R
   structure BNames = B  
19    
20    open MLTreeBasis    open MLTreeBasis
21    
# Line 36  Line 36 
36    (* aliasing declarations    (* aliasing declarations
37     * These are used to define physical register bindings for SSA names     * These are used to define physical register bindings for SSA names
38     *)     *)
39    datatype alias = ALIAS   of ty * var * reg    type alias = var * reg
                  | FALIAS  of fty * var * reg  
                  | CCALIAS of var * reg  
40    
41    (* statements *)    (* statements *)
42    datatype stm =    datatype stm =
# Line 119  Line 117 
117    
118      | SEQ of stm * rexp      | SEQ of stm * rexp
119    
120      | EXTENSION of rextension * rexp list      | EXTENSION of ty * rextension * rexp list
121    
122      | MARK of rexp * Annotations.annotation      | MARK of rexp * Annotations.annotation
123    
# Line 144  Line 142 
142      | CVTF2F of fty * rounding_mode * fexp      | CVTF2F of fty * rounding_mode * fexp
143      | FSEQ   of stm * fexp      | FSEQ   of stm * fexp
144    
145      | FEXTENSION of fextension * fexp list      | FEXTENSION of fty * fextension * fexp list
146    
147      | FMARK of fexp * Annotations.annotation      | FMARK of fexp * Annotations.annotation
148    
# Line 160  Line 158 
158    
159    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp
160    
   datatype mltree =  
       BEGINCLUSTER  
     | PSEUDO_OP of PseudoOp.pseudo_op  
     | DEFINELABEL of Label.label  
     | ENTRYLABEL of Label.label  
     | CODE of stm list  
     | ALIASDECLS of alias list  
     | PHIFUNS of phi list  
     | BLOCK_NAME of BNames.name  
     | BLOCK_ANNOTATION of Annotations.annotation  
     | ESCAPEBLOCK of mlrisc list  
     | ENDCLUSTER of int Intmap.intmap * Annotations.annotations  
   
161    exception Unsupported of string * rexp    exception Unsupported of string * rexp
162    
163      type ('i,'regmap) stream =
164           ('i -> unit,'regmap,Annotations.annotations,
165            mlrisc list, alias, phi) Stream.stream
166    
167  end (* MLTREE *)  end (* MLTREE *)

Legend:
Removed from v.428  
changed lines
  Added in v.429

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