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

sml/branches/SMLNJ/src/MLRISC/mltree/mltree.sml revision 429, Wed Sep 8 09:47:00 1999 UTC sml/trunk/src/MLRISC/mltree/mltree.sml revision 476, Wed Nov 10 22:59:58 1999 UTC
# Line 13  Line 13 
13  struct  struct
14    structure Constant = Const    structure Constant = Const
15    structure PseudoOp = S.P    structure PseudoOp = S.P
   structure BNames = S.B  
16    structure Stream = S    structure Stream = S
17    structure Region = R    structure Region = R
18      structure Basis  = MLTreeBasis
19    open MLTreeBasis    structure Util   = MLTreeUtil
20    
21    type rextension = rextension    type rextension = rextension
22    type fextension = rextension    type fextension = rextension
23    
24      type ty  = Basis.ty
25      type fty = Basis.fty
26    type var = int (* variable *)    type var = int (* variable *)
27    type src = var (* source variable *)    type src = var (* source variable *)
28    type dst = var (* destination variable *)    type dst = var (* destination variable *)
29    type reg = var (* physical register *)    type reg = var (* physical register *)
30    
31      datatype cond = datatype Basis.cond
32      datatype fcond = datatype Basis.fcond
33      datatype ext = datatype Basis.ext
34      datatype rounding_mode = datatype Basis.rounding_mode
35    
36    (* phi-functions for SSA form *)    (* phi-functions for SSA form *)
37    datatype phi =    datatype phi =
38        PHI  of ty * dst * src list        PHI  of ty * dst * src list
# Line 53  Line 59 
59      | STORE_UNALIGNED of ty * rexp * rexp * Region.region      | STORE_UNALIGNED of ty * rexp * rexp * Region.region
60      | FSTORE of fty * rexp * fexp * Region.region       (* address, data *)      | FSTORE of fty * rexp * fexp * Region.region       (* address, data *)
61      | FSTORE_UNALIGNED of fty * rexp * fexp * Region.region      | FSTORE_UNALIGNED of fty * rexp * fexp * Region.region
62      | BCC    of cond * ccexp * Label.label      | BCC    of Basis.cond * ccexp * Label.label
63      | FBCC   of fcond * ccexp * Label.label      | FBCC   of Basis.fcond * ccexp * Label.label
64      | ANNOTATION of stm * Annotations.annotation      | ANNOTATION of stm * Annotations.annotation
65    
66        (* The following are used internally by SSA optimizations;        (* The following are used internally by SSA optimizations;
# Line 105  Line 111 
111      | SLL   of ty * rexp * rexp      | SLL   of ty * rexp * rexp
112    
113        (* type promotion *)        (* type promotion *)
114      | CVTI2I of ty * ext * rexp      | CVTI2I of ty * Basis.ext * ty * rexp
115      | CVTF2I of ty * rounding_mode * fexp      | CVTF2I of ty * Basis.rounding_mode * fty * fexp
116    
117        (* conditional (eager) evaluation *)        (* conditional (eager) evaluation *)
118      | COND of ty * ccexp * rexp * rexp      | COND of ty * ccexp * rexp * rexp
# Line 117  Line 123 
123    
124      | SEQ of stm * rexp      | SEQ of stm * rexp
125    
126      | EXTENSION of ty * rextension * rexp list      | EXT of ty * rextension * rexp list
127    
128      | MARK of rexp * Annotations.annotation      | MARK of rexp * Annotations.annotation
129    
130        (* Used in RTL *)        (* Used in RTL *)
131      | RTLPC (* the program counter; used for describing relative addressing *)      | RTLPC (* the program counter; used for describing relative addressing *)
132      | RTLMISC of misc_op ref * rexp list      | RTLMISC of Basis.misc_op ref * rexp list
133    
134    and fexp =    and fexp =
135        FREG   of fty * src        FREG   of fty * src
# Line 138  Line 144 
144      | FNEG   of fty * fexp      | FNEG   of fty * fexp
145      | FSQRT  of fty * fexp      | FSQRT  of fty * fexp
146    
147      | CVTI2F of fty * ext * rexp      | CVTI2F of fty * Basis.ext * ty * rexp
148      | CVTF2F of fty * rounding_mode * fexp      | CVTF2F of fty * Basis.rounding_mode * fty * fexp
149      | FSEQ   of stm * fexp      | FSEQ   of stm * fexp
150    
151      | FEXTENSION of fty * fextension * fexp list      | FEXT of fty * fextension * fexp list
152    
153      | FMARK of fexp * Annotations.annotation      | FMARK of fexp * Annotations.annotation
154    
155        (* used in RTL *)        (* used in RTL *)
156      | RTLFMISC of misc_op ref * fexp list      | RTLFMISC of Basis.misc_op ref * fexp list
157    
158    and ccexp =    and ccexp =
159        CC     of src        CC     of src
160      | CMP    of ty * cond * rexp * rexp      | CMP    of ty * Basis.cond * rexp * rexp
161      | FCMP   of fty * fcond * fexp * fexp      | FCMP   of fty * Basis.fcond * fexp * fexp
162      | CCMARK of ccexp * Annotations.annotation      | CCMARK of ccexp * Annotations.annotation
163      | RTLCCMISC of misc_op ref * ccexp list      | RTLCCMISC of Basis.misc_op ref * ccexp list
164    
165    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp    and mlrisc = CCR of ccexp | GPR of rexp | FPR of fexp
166    

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

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