Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/tree-ir/tree-ir.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/tree-ir/tree-ir.sml

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

revision 3995, Sat Jun 18 20:00:19 2016 UTC revision 4163, Thu Jul 7 09:45:19 2016 UTC
# Line 27  Line 27 
27          inputs : input list,            (* global input variables *)          inputs : input list,            (* global input variables *)
28          constInit : block,              (* code that initializes constants and inputs *)          constInit : block,              (* code that initializes constants and inputs *)
29          globals : global_var list,      (* other global variables *)          globals : global_var list,      (* other global variables *)
30            funcs : func_def list,          (* user-defined functions *)
31          globInit : block,               (* CFG to initialize other globals (if any) *)          globInit : block,               (* CFG to initialize other globals (if any) *)
32          strand : strand,                (* the strand definition *)          strand : strand,                (* the strand definition *)
33          create : create,                (* initial strand creation *)          create : create,                (* initial strand creation *)
# Line 34  Line 35 
35          update : block option           (* optional global update code. *)          update : block option           (* optional global update code. *)
36        }        }
37    
38        and func_def = Func of {
39            name : func,
40            params : var list,
41            body : block
42          }
43    
44      and strand = Strand of {      and strand = Strand of {
45          name : Atom.atom,          name : Atom.atom,
46          params : var list,          params : var list,
# Line 50  Line 57 
57            body : block                  (* the method body *)            body : block                  (* the method body *)
58          }          }
59    
     and create = Create of {  
         dim : int option,               (* grid dimension; NONE for collections *)  
         code : block                    (* the loop nest for creating the strands *)  
       }  
   
60      and block = Block of {      and block = Block of {
61          locals : var list ref,          (* the local variables that are used in this block *)          locals : var list ref,          (* the local variables that are used in this block *)
62          body : stm list          body : stm list
# Line 89  Line 91 
91        | E_Var of var        | E_Var of var
92        | E_Lit of Literal.t        | E_Lit of Literal.t
93        | E_Op of Op.rator * exp list        | E_Op of Op.rator * exp list
94          | E_Apply of func * exp list              (* user-defined function application *)
95        | E_Vec of int * int * exp list           (* vector value; the ints are the width and the        | E_Vec of int * int * exp list           (* vector value; the ints are the width and the
96                                                   * padded width                                                   * padded width
97                                                   *)                                                   *)
# Line 122  Line 125 
125          ty : Ty.t                       (* type *)          ty : Ty.t                       (* type *)
126        }        }
127    
128        and func = FV of {
129            name : string,                  (* name (should be unique) *)
130            id : Stamp.stamp,               (* unique ID *)
131            ty : Ty.t,                      (* return type *)
132            paramTys : Ty.t list            (* parameter types *)
133          }
134    
135      withtype input = global_var Inputs.input      withtype input = global_var Inputs.input
136             and create = block Create.t
137    
138    end    end

Legend:
Removed from v.3995  
changed lines
  Added in v.4163

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