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

SCM Repository

[diderot] Annotation of /branches/vis15/src/compiler/FIXME.md
ViewVC logotype

Annotation of /branches/vis15/src/compiler/FIXME.md

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4021 - (view) (download)

1 : jhr 3937 # FIXME issues
2 :     Organized by source directory. We use the following command to find the FIXMEs:
3 :    
4 :     ````
5 :     bbfind --gui --name-pattern "*.in" --name-pattern "*.sml" FIXME .
6 :     ````
7 :    
8 :     ### `ast`
9 :    
10 :     No issues.
11 :    
12 :     ### `basis`
13 :    
14 :     * more reductions: min/max on integers, sum on integers and tensors. (`basis-vars.sml`)
15 :    
16 :     #### `cfg-ir`
17 :    
18 :     * add additional checking (`check-ir-fn.sml`)
19 :     - redundant bindings
20 :     - check the types of `SEQ` elements
21 :     - check `EINAPP` bodies
22 :     - check types for `MASSIGN`
23 :    
24 :     * handle `EINAPP` nodes in `toString` function (`expr-fn.sml`)
25 :    
26 :     * filter out unused constant variables (`rewrite-fn.sml`)
27 :    
28 :     * add command-line flag to control compactness of IR printing (`ssa-pp-fn.sml`)
29 :    
30 :     * avoid redundancy of setting bindings for variables (`translate-fn.sml` and `census-fn.sml`)
31 :    
32 :     #### `codegen`
33 :    
34 :     * precedence checking for `mkApply`; handle types in `expToString` (`clang.sml`)
35 :    
36 :     * generalize handling of the `bool` type for targets that are pre C99 (`codegen-env.sml`)
37 :    
38 : jhr 3966 * Printing "const" types (`print-as-c.sml`)
39 :    
40 : jhr 3937 #### `common`
41 :    
42 :     No issues.
43 :    
44 :     #### `cxx-util`
45 :    
46 :     * fix the function names for loading dynamic sequences (`cxx-names.sml`)
47 :    
48 :     * handle strings in `copy` function (`gen-inputs-util.sml`)
49 :    
50 :     * generate code to check that loaded image has expected element type, etc. (`gen-load-nrrd.sml`)
51 :    
52 :     * printing support for tuples (`gen-tys-and-ops.sml`)
53 :    
54 :     * support for fixed-size sequences in `infoOf` (`output-util.sml`)
55 :    
56 : jhr 3966 * Generate error-handling code that puts the error message in the error buffer and returns
57 :     and error status (`output-util.sml`)
58 :    
59 : jhr 3937 * printing types needs to be overhauled to correctly handle C++ type syntax (`print-as-cxx.sml`)
60 :    
61 :     * printing support for classes that include protected or private members (`print-as-cxx.sml`)
62 :    
63 :     * many issues in translating Tree IR to C++ (`tree-to-cxx.sml`)
64 :     - type translation for tuples
65 :     - support for `EigenVals2x2` and `EigenVals3x3`
66 :     - support for `Select` operation on tuples
67 :     - dynamic array operations: `MkDynamic`, `Append`, `Prepend`, `Concat`, `Range`, and `Length`
68 : jhr 3982 **[FIXED: JHR]**
69 :     - liveness analysis to enable *in situ* dynamic sequence operations
70 : jhr 3937 - support for `SphereQuery`
71 :     - add `vload_aligned` and `vpack_aligned` operations
72 : jhr 3982 - refactor common code out of `trAssign` and `trDecl` functions
73 : jhr 3937
74 :     #### `driver`
75 :    
76 :     No issues.
77 :    
78 :     #### `ein`
79 : jhr 3980 * add documentation for various ID types (`ein.sml`) **[FIXED; CC]**
80 : jhr 3937
81 :     * use the `BorderCtl.ctl` type instead of defining a new type (`ein.sml`)
82 :    
83 : jhr 3980 * fix the type of `Delta` (`ein.sml`) **[FIXED; CC]**
84 : jhr 3937
85 : jhr 3980 * fix the definition of the `sumrage` type (`ein.sml`) **[FIXED; CC]**
86 : jhr 3937
87 :     #### `fields`
88 :    
89 :     No issues.
90 :    
91 :     #### `global-env`
92 :    
93 :     No issues.
94 :    
95 :     #### `high-ir`
96 :    
97 :     No issues.
98 :    
99 :     #### `high-opt`
100 :    
101 : jhr 3980 * handle `PowReal` operator **[FIXED; CC]**
102 : jhr 3937
103 :     * code clean up (`eps-util.sml`)
104 :     - documentation
105 :     - avoid use of append to build lists
106 : jhr 3980 - rewrite `matchEps` function **[FIXED; CC]**
107 : jhr 3937
108 :     #### `high-to-mid`
109 :    
110 : jhr 3966 * Switch to `maxItem` function once SML/NJ 110.80 is released (`clean-index.sml`)
111 : jhr 3937
112 : jhr 3966 * Expand integer powers into multiplications (`high-to-mid.sml`)
113 :    
114 : jhr 3980 * Need documentation for `arrangeBody` function (`probe-ein.sml`) **[FIXED; CC]**
115 : jhr 3966
116 : jhr 3980 * error in tshape(`/clean-index.sml`) **[FIXED; CC]**
117 : cchiw 3969
118 : jhr 3937 #### `inputs`
119 :    
120 :     No issues.
121 :    
122 :     #### `low-ir`
123 :    
124 :     No issues.
125 :    
126 :     #### `low-opt`
127 :    
128 :     No issues.
129 :    
130 :     #### `low-to-tree`
131 :    
132 : jhr 3966 * many issues in translating Low IR to Tree IR (`low-to-tree.sml`)
133 :     - output globals in `mkGlobalVar`
134 :     - `RealToInt` tranlation when the argument has multiple pieces
135 :     - reduction operators
136 :     - defer copying tensor refs into tensors
137 :     - handle `x = y` assignments
138 : jhr 3937
139 :     #### `mid-ir`
140 :    
141 : jhr 3966 No issues.
142 : jhr 3937
143 :     #### `mid-opt`
144 :    
145 :     No issues.
146 :    
147 :     #### `mid-to-low`
148 :    
149 : jhr 3980 * Handle `PowReal`, `PowEmb` operators in `expand` (`ein-to-scalar.sml`) **[FIXED; CC]**
150 : jhr 3937
151 : jhr 3980 * Handle `Exp`, `PowInt`, operators in `expand` (`ein-to-scalar.sml`) **[FIXED; CC]**
152 : cchiw 3969
153 : jhr 3966 * Generalize `imgToArgs` to handle arbitrary dimension images (`field-to-low.sml`)
154 :    
155 :     * Support IR operators `Clamp`, `MapClamp`, and `Lerp` on higher-order tensor types.
156 :    
157 : jhr 3937 #### `mlton`
158 :    
159 :     No issues.
160 :    
161 :     #### `nrrd`
162 :    
163 :     No issues.
164 :    
165 :     #### `options`
166 :    
167 :     No issues.
168 :    
169 :     #### `parse-tree`
170 :    
171 :     No issues.
172 :    
173 :     #### `parser`
174 :    
175 :     No issues.
176 :    
177 :     #### `simple`
178 :    
179 : jhr 3995 * Invariant checking for Simple AST representation (`check-simple.sml`)
180 :    
181 : jhr 3966 * Pretty print reduction expressions (`simple-pp.sml`)
182 : jhr 3937
183 : jhr 3966 * Support fusion of reductions; this change will require IR changes (`simple.sml`)
184 :    
185 : jhr 3937 #### `simplify`
186 :    
187 : jhr 3966 * Handle `E_ParallelMap` expressions (`simplify.sml`)
188 : jhr 3937
189 : jhr 3966 * Support for `mean` and `variance` reductions (`util.sml`)
190 :    
191 : jhr 3937 #### `target-cpu`
192 :    
193 :     * generate a default stabilize method for the dual-state case (`gen-strand.sml`)
194 :    
195 :     * handle create iterations over sequences (`gen-world.sml`)
196 :    
197 :     * what should we do about residual constants during code generation? (`gen.sml`)
198 :    
199 :     * generate global initialization code? (`gen.sml`)
200 :    
201 :     * code generation for libraries (`gen.sml`)
202 :    
203 :     #### `translate`
204 :    
205 : jhr 3966 * Translation of `fn_normalize_t` is incorrect for scalars (`translate-basis.sml`)
206 : jhr 3937
207 : cchiw 3991 * Use Ein operators to implement tensor/field slicing and indexing (`translate.sml`) **[FIXED; CC]**
208 : jhr 3966
209 :     * Check possible issues with global initialization and conditionals (`translate.sml`)
210 :    
211 :     * Support for `S_MapReduce` (`translate.sml`)
212 :    
213 :     * Check possible issues with strand methods that do reach the exit node (`translate.sml`)
214 :    
215 : cchiw 4001 * `division` and `cross product` between a tensor and field **[FIXED; CC]**
216 :    
217 : jhr 3937 #### `tree-ir`
218 :    
219 : jhr 3966 * Parameterize the `check` function by the target's vector layout rules and
220 :     check for valid layouts (`check-tree.sml`)
221 : jhr 3937
222 : jhr 3966 * Checking for `S_MAssign` statements (`check-tree.sml`)
223 :    
224 :     * Checking for `S_LoadNrrd` statements (`check-tree.sml`)
225 :    
226 : jhr 4016 * Printing for inputs (`tree-pp.sml`) **[FIXED; JHR]**
227 : jhr 3966
228 : jhr 3937 #### `tree-opt`
229 :    
230 :     No issues.
231 :    
232 :     #### `typechecker`
233 :    
234 : jhr 3966 * Evaluation of constant tensor slice (`check-const.sml`)
235 :    
236 :     * Many issues in typechecking expressions (`check-expr.sml`)
237 :     - improved overload resolution
238 :     - resulting differentiation for inner, outer, and colon products
239 :     - check index against shape of tensor
240 :     - check for sequences of non-concrete types (*e.g.*, sequences of fields)
241 :     - constant string expressions
242 :    
243 :     * Handle command-line definitions of constants (`check-globals.sml`)
244 :    
245 :     * Allow strands without outputs, once we have global outputs (`check-strand.sml`)
246 :    
247 :     * Check for situation where `initially` method has call to `stabilize` (`check-var-uses.sml`)
248 :    
249 : jhr 4021 * Check for globals and state variables that are not initialized in
250 :     their respective initialization sections (`check-var-uses.sml`)
251 : cchiw 3978
252 : jhr 4021 * Unification of differentiation bounds (`unify.sml`)
253 :    
254 : cchiw 3978 # Questions
255 : jhr 3980
256 : cchiw 3978 #### `ein`
257 :    
258 : jhr 3982 * QUESTION: should the int be IntInf.int? (`ein.sml`)
259 : jhr 3980 - Not sure CC
260 : cchiw 3978
261 : jhr 3982 * QUESTION: why is this index_kind list and not index_id list?(`ein.sml`)
262 : jhr 3980 - They are both ints, but one is a variable index
263 :     and the other binds the ranges of the variable indices.

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