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 744, Fri Dec 8 04:11:42 2000 UTC revision 775, Fri Jan 12 01:17:51 2001 UTC
# Line 4  Line 4 
4   *   *
5   *)   *)
6    
7  functor MLTreeF(structure LabelExp  : LABELEXP  functor MLTreeF(structure Constant  : CONSTANT
8                  structure Region    : REGION                  structure Region    : REGION
9                  structure Stream    : INSTRUCTION_STREAM                  structure Stream    : INSTRUCTION_STREAM
10                  structure Extension : MLTREE_EXTENSION                  structure Extension : MLTREE_EXTENSION
11                 ) : MLTREE =                 ) : MLTREE =
12  struct  struct
13    structure LabelExp = LabelExp    structure Constant = Constant
   structure Constant = LabelExp.Constant  
14    structure PseudoOp = Stream.P    structure PseudoOp = Stream.P
15    structure Stream = Stream    structure Stream = Stream
16    structure Region = Region    structure Region = Region
17    structure Basis  = MLTreeBasis    structure Basis  = MLTreeBasis
18    structure Extension = Extension    structure Extension = Extension
19      structure I = MachineInt
20    
21    type ty  = Basis.ty    type ty  = Basis.ty
22    type fty = Basis.fty    type fty = Basis.fty
# Line 74  Line 74 
74         *)         *)
75      | PHI    of {preds:int list, block:int}      | PHI    of {preds:int list, block:int}
76      | ASSIGN of ty * rexp * rexp      | ASSIGN of ty * rexp * rexp
77      | SOURCE of {block:int, liveIn:reg list}      | SOURCE
78      | SINK   of {block:int, liveOut:reg list}      | SINK
79      | RTL    of {hash:word, attribs:Basis.attribs ref, e:stm}      | RTL    of {hash:word, attribs:Basis.attribs ref, e:stm}
80    
81    and rexp =    and rexp =
82        REG    of ty * reg        REG    of ty * reg
83    
84        (* sizes of constants are inferred by context *)        (* sizes of constants are inferred by context *)
85      | LI     of int      | LI     of I.machine_int
86      | LI32   of Word32.word      | LABEL  of Label.label
     | LIInf  of IntInf.int  
     | LABEL  of LabelExp.labexp  
87      | CONST  of Constant.const      | CONST  of Constant.const
88        | LABEXP of rexp
89    
90      | NEG    of ty * rexp      | NEG    of ty * rexp
91      | ADD    of ty * rexp * rexp      | ADD    of ty * rexp * rexp
# Line 209  Line 208 
208         and rext   = (stm, rexp, fexp, ccexp) Extension.rx         and rext   = (stm, rexp, fexp, ccexp) Extension.rx
209         and fext   = (stm, rexp, fexp, ccexp) Extension.fx         and fext   = (stm, rexp, fexp, ccexp) Extension.fx
210         and ccext  = (stm, rexp, fexp, ccexp) Extension.ccx         and ccext  = (stm, rexp, fexp, ccexp) Extension.ccx
211           and labexp = rexp
212    
213    (*    (*
214     * Instruction streams     * Instruction streams

Legend:
Removed from v.744  
changed lines
  Added in v.775

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