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/branches/SMLNJ/src/MLRISC/mltree/mltree.sig
ViewVC logotype

Diff of /sml/branches/SMLNJ/src/MLRISC/mltree/mltree.sig

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

revision 474, Wed Nov 10 22:59:58 1999 UTC revision 475, Wed Nov 10 22:59:58 1999 UTC
# Line 15  Line 15 
15    structure PseudoOp : PSEUDO_OPS    structure PseudoOp : PSEUDO_OPS
16    structure Region   : REGION    structure Region   : REGION
17    structure Stream   : INSTRUCTION_STREAM    structure Stream   : INSTRUCTION_STREAM
18      structure Basis    : MLTREE_BASIS
19      structure Util     : MLTREE_UTIL
20       sharing Stream.P = PseudoOp       sharing Stream.P = PseudoOp
21         sharing Util.Basis = Basis
   include MLTREE_BASIS  
22    
23    type rextension    type rextension
24    type fextension    type fextension
25    
26      type ty  = Basis.ty
27      type fty = Basis.fty
28    type var = int (* variable *)    type var = int (* variable *)
29    type src = var (* source variable *)    type src = var (* source variable *)
30    type dst = var (* destination variable *)    type dst = var (* destination variable *)
31    type reg = var (* physical register *)    type reg = var (* physical register *)
32    
33      datatype cond = datatype Basis.cond
34      datatype fcond = datatype Basis.fcond
35      datatype ext = datatype Basis.ext
36      datatype rounding_mode = datatype Basis.rounding_mode
37    
38    (* phi-functions for SSA form *)    (* phi-functions for SSA form *)
39    datatype phi =    datatype phi =
# Line 54  Line 61 
61      | STORE_UNALIGNED of ty * rexp * rexp * Region.region      | STORE_UNALIGNED of ty * rexp * rexp * Region.region
62      | FSTORE of fty * rexp * fexp * Region.region       (* address, data *)      | FSTORE of fty * rexp * fexp * Region.region       (* address, data *)
63      | FSTORE_UNALIGNED of fty * rexp * fexp * Region.region      | FSTORE_UNALIGNED of fty * rexp * fexp * Region.region
64      | BCC    of cond * ccexp * Label.label      | BCC    of Basis.cond * ccexp * Label.label
65      | FBCC   of fcond * ccexp * Label.label      | FBCC   of Basis.fcond * ccexp * Label.label
66      | ANNOTATION of stm * Annotations.annotation      | ANNOTATION of stm * Annotations.annotation
67    
68        (* The following are used internally by SSA optimizations;        (* The following are used internally by SSA optimizations;
# Line 106  Line 113 
113      | SLL   of ty * rexp * rexp      | SLL   of ty * rexp * rexp
114    
115        (* type promotion *)        (* type promotion *)
116      | CVTI2I of ty * ext * rexp      | CVTI2I of ty * Basis.ext * ty * rexp
117      | CVTF2I of ty * rounding_mode * fexp      | CVTF2I of ty * Basis.rounding_mode * fty * fexp
118    
119        (*        (*
120         * COND(ty,cc,e1,e2):         * COND(ty,cc,e1,e2):
# Line 122  Line 129 
129    
130      | SEQ of stm * rexp      | SEQ of stm * rexp
131    
132      | EXTENSION of ty * rextension * rexp list      | EXT of ty * rextension * rexp list
133    
134      | MARK of rexp * Annotations.annotation      | MARK of rexp * Annotations.annotation
135    
136        (* Used in RTL *)        (* Used in RTL *)
137      | RTLPC (* the program counter; used for describing relative addressing *)      | RTLPC (* the program counter; used for describing relative addressing *)
138      | RTLMISC of misc_op ref * rexp list      | RTLMISC of Basis.misc_op ref * rexp list
139    
140    and fexp =    and fexp =
141        FREG   of fty * src        FREG   of fty * src
# Line 143  Line 150 
150      | FNEG   of fty * fexp      | FNEG   of fty * fexp
151      | FSQRT  of fty * fexp      | FSQRT  of fty * fexp
152    
153      | CVTI2F of fty * ext * rexp      | CVTI2F of fty * Basis.ext * ty * rexp
154      | CVTF2F of fty * rounding_mode * fexp      | CVTF2F of fty * Basis.rounding_mode * fty * fexp
155      | FSEQ   of stm * fexp      | FSEQ   of stm * fexp
156    
157      | FEXTENSION of fty * fextension * fexp list      | FEXT of fty * fextension * fexp list
158    
159      | FMARK of fexp * Annotations.annotation      | FMARK of fexp * Annotations.annotation
160    
161        (* used in RTL *)        (* used in RTL *)
162      | RTLFMISC of misc_op ref * fexp list      | RTLFMISC of Basis.misc_op ref * fexp list
163    
164    and ccexp =    and ccexp =
165        CC     of src        CC     of src
166      | CMP    of ty * cond * rexp * rexp      | CMP    of ty * Basis.cond * rexp * rexp
167      | FCMP   of fty * fcond * fexp * fexp      | FCMP   of fty * Basis.fcond * fexp * fexp
168      | CCMARK of ccexp * Annotations.annotation      | CCMARK of ccexp * Annotations.annotation
169      | RTLCCMISC of misc_op ref * ccexp list      | RTLCCMISC of Basis.misc_op ref * ccexp list
170    
171    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp
172    

Legend:
Removed from v.474  
changed lines
  Added in v.475

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