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/Doc/mltree.html
ViewVC logotype

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

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

revision 410, Fri Sep 3 00:25:03 1999 UTC revision 498, Tue Dec 7 15:44:50 1999 UTC
# Line 17  Line 17 
17  <p>  <p>
18  In order to allow the client to specify operations that operate on operands  In order to allow the client to specify operations that operate on operands
19  of various widths, all integer and floating point operators in MLTREE now  of various widths, all integer and floating point operators in MLTREE now
20  takes an additional width paramater.  take an additional width paramater.
21  <p>  <p>
22  For example,  For example,
23  <small>  <small>
# Line 40  Line 40 
40  value.  value.
41    
42  <h3> The Details </h3>  <h3> The Details </h3>
43    The signature
44   <a href="../mltree/mltree-basis.sig" target=code> MLTREE_BASIS </a>   <a href="../mltree/mltree-basis.sig" target=code> MLTREE_BASIS </a>
45    defines the basic types used in the MLTREE signature.
46  <small>  <small>
47  <pre>  <pre>
48  signature MLTREE_BASIS =  signature MLTREE_BASIS =
# Line 69  Line 71 
71  </small>  </small>
72    
73    
74   <a href="../mltree/mltree.sig" target=code> MLTREE </a>  The signature
75     <a href="../mltree/mltree.sig" target=code> MLTREE </a> is parameterized
76    with respect to the client defined constant, pseudo ops, aliasing regions
77    and instruction stream types.
78  <small>  <small>
79  <pre>  <pre>
80  signature MLTREE = sig  signature MLTREE = sig
81    structure Constant : <a href="constants.html">CONSTANT</a>    structure Constant : <a href="constants.html">CONSTANT</a>
82    structure PseudoOp : <a href="pseudo-ops.html">PSEUDO_OPS</a>    structure PseudoOp : <a href="pseudo-ops.html">PSEUDO_OPS</a>
83    structure Region   : <a href="region.html">REGION</a>    structure Region   : <a href="region.html">REGION</a>
84    structure BNames   : <a href="block-names.html">BLOCK_NAMES</a>    structure Stream   : <a href="stream.html">INSTRUCTION_STREAM</a>
85         sharing Stream.P = PseudoOp
86    
87    include MLTREE_BASIS    include MLTREE_BASIS
88    
# Line 88  Line 94 
94    type dst = var (* destination variable *)    type dst = var (* destination variable *)
95    type reg = var (* physical register *)    type reg = var (* physical register *)
96    
97    
98    (* phi-functions for SSA form *)    (* phi-functions for SSA form *)
99    datatype phi =    datatype phi =
100        PHI  of ty * dst * src list        PHI  of ty * dst * src list
# Line 97  Line 104 
104    (* aliasing declarations    (* aliasing declarations
105     * These are used to define physical register bindings for SSA names     * These are used to define physical register bindings for SSA names
106     *)     *)
107    datatype alias = ALIAS   of ty * var * reg    type alias = var * reg (* var is aliased to register *)
                  | FALIAS  of fty * var * reg  
                  | CCALIAS of var * reg  
108    
109    (* statements *)    (* statements *)
110    datatype stm =    datatype stm =
# Line 184  Line 189 
189    
190      | SEQ of stm * rexp      | SEQ of stm * rexp
191    
192      | EXTENSION of rextension * rexp list      | EXTENSION of ty * rextension * rexp list
193    
194      | MARK of rexp * Annotations.annotation      | MARK of rexp * Annotations.annotation
195    
# Line 209  Line 214 
214      | CVTF2F of fty * rounding_mode * fexp      | CVTF2F of fty * rounding_mode * fexp
215      | FSEQ   of stm * fexp      | FSEQ   of stm * fexp
216    
217      | FEXTENSION of fextension * fexp list      | FEXTENSION of fty * fextension * fexp list
218    
219      | FMARK of fexp * Annotations.annotation      | FMARK of fexp * Annotations.annotation
220    
# Line 225  Line 230 
230    
231    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp
232    
   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  
   
233    exception Unsupported of string * rexp    exception Unsupported of string * rexp
234    
235  end (* MLTREE *)    type ('i,'regmap) stream =
236           ('i -> unit,'regmap,Annotations.annotations,
237            mlrisc list, alias, phi) Stream.stream
238    
239    end (* MLTREE *)
240  </pre>  </pre>
241  </small>  </small>
242    
243  <HR>  <HR>
     <FONT SIZE="-2">  
 <ADDRESS>  
 <A HREF="mailto:leunga@cs.nyu.edu">Allen Leung</A></ADDRESS>  
 <BR>  
244    
245  </BODY>  </BODY>
246  </HTML>  </HTML>

Legend:
Removed from v.410  
changed lines
  Added in v.498

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