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

SCM Repository

[diderot] Annotation of /branches/vis15/src/compiler/low-to-tree/low-to-tree.sml
ViewVC logotype

Annotation of /branches/vis15/src/compiler/low-to-tree/low-to-tree.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3828 - (view) (download)

1 : jhr 3828 (* low-to-tree.sml
2 :     *
3 :     * This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
4 :     *
5 :     * COPYRIGHT (c) 2016 The University of Chicago
6 :     * All rights reserved.
7 :     *)
8 :    
9 :     structure LowToTree : sig
10 :    
11 :     type vector_layout = int -> TreeTypes.t
12 :    
13 :     val translate : LowIR.program * vector_layout -> TreeIR.program
14 :    
15 :     end = struct
16 :    
17 :     structure SrcIR = LowIR
18 :     structure DstIR = TreeIR
19 :    
20 :     fun trOp () = (case rator
21 :     of SrcOp.IAdd
22 :     | SrcOp.ISub
23 :     | SrcOp.IMul
24 :     | SrcOp.IDiv
25 :     | SrcOp.IMod
26 :     | SrcOp.INeg
27 :     | SrcOp.RAdd
28 :     | SrcOp.RSub
29 :     | SrcOp.RMul
30 :     | SrcOp.RDiv
31 :     | SrcOp.RNeg
32 :     | SrcOp.LT ty =>
33 :     | SrcOp.LTE ty =>
34 :     | SrcOp.EQ ty =>
35 :     | SrcOp.NEQ ty =>
36 :     | SrcOp.GT ty =>
37 :     | SrcOp.GTE ty =>
38 :     | SrcOp.Not
39 :     | SrcOp.Abs ty =>
40 :     | SrcOp.Max ty =>
41 :     | SrcOp.Min ty =>
42 :     | SrcOp.Clamp ty =>
43 :     | SrcOp.Lerp ty =>
44 :     | SrcOp.VAdd of int
45 :     | SrcOp.VSub of int
46 :     | SrcOp.VScale of int
47 :     | SrcOp.VMul of int
48 :     | SrcOp.VNeg of int
49 :     | SrcOp.VSum of int
50 :     | SrcOp.VProj of int * int
51 :     | SrcOp.TensorIndex of ty * shape
52 :     | SrcOp.ProjectLast of ty * shape
53 :     | SrcOp.EigenVecs2x2
54 :     | SrcOp.EigenVecs3x3
55 :     | SrcOp.EigenVals2x2
56 :     | SrcOp.EigenVals3x3
57 :     | SrcOp.Zero ty =>
58 :     | SrcOp.Select of ty * int
59 :     | SrcOp.Subscript ty =>
60 :     | SrcOp.MkDynamic of ty * int
61 :     | SrcOp.Append ty =>
62 :     | SrcOp.Prepend ty =>
63 :     | SrcOp.Concat ty =>
64 :     | SrcOp.Range
65 :     | SrcOp.Length ty =>
66 :     | SrcOp.SphereQuery of ty * ty
67 :     | SrcOp.Sqrt
68 :     | SrcOp.Cos
69 :     | SrcOp.ArcCos
70 :     | SrcOp.Sin
71 :     | SrcOp.ArcSin
72 :     | SrcOp.Tan
73 :     | SrcOp.ArcTan
74 :     | SrcOp.Ceiling of int
75 :     | SrcOp.Floor of int
76 :     | SrcOp.Round of int
77 :     | SrcOp.Trunc of int
78 :     | SrcOp.IntToReal
79 :     | SrcOp.RealToInt of int
80 :     | SrcOp.R_All ty =>
81 :     | SrcOp.R_Exists ty =>
82 :     | SrcOp.R_Max ty =>
83 :     | SrcOp.R_Min ty =>
84 :     | SrcOp.R_Sum ty =>
85 :     | SrcOp.R_Product ty =>
86 :     | SrcOp.R_Mean ty =>
87 :     | SrcOp.R_Variance ty =>
88 :     | SrcOp.Transform of ImageInfo.info
89 :     | SrcOp.Translate of ImageInfo.info
90 :     | SrcOp.ControlIndex of ImageInfo.info * idxctl * int
91 :     | SrcOp.LoadVoxel of ImageInfo.info
92 :     | SrcOp.Inside of ImageInfo.info * int
93 :     | SrcOp.ImageDim of ImageInfo.info * int
94 :     | SrcOp.LoadSeq of ty * string
95 :     | SrcOp.LoadImage of ty * string
96 :     | SrcOp.Print of tys
97 :     | SrcOp.MathFn of MathFns.t
98 :     (* end case *))
99 :    
100 :     end

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