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

SCM Repository

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

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

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

revision 4426, Wed Aug 17 20:00:23 2016 UTC revision 4427, Wed Aug 17 22:54:51 2016 UTC
# Line 7  Line 7 
7    
8  High priority items are marked with a "🔥" symbol.  High priority items are marked with a "🔥" symbol.
9    
10    ## Compiler issues
11    
12  ### `ast`  ### `ast`
13    
14  No issues.  No issues.
# Line 17  Line 19 
19    
20  * more reductions: min/max on integers, sum on integers and tensors. (`basis-vars.sml`)  * more reductions: min/max on integers, sum on integers and tensors. (`basis-vars.sml`)
21    
22  #### `cfg-ir`  ### `cfg-ir`
23    
24  * add additional checking (`check-ir-fn.sml`)  * add additional checking (`check-ir-fn.sml`)
25    - redundant bindings in the presence of loops    - redundant bindings in the presence of loops
# Line 37  Line 39 
39    
40  * delete `MAPREDUCE` when body is pure and the result is unused (`unused-elim-fn.sml`)  * delete `MAPREDUCE` when body is pure and the result is unused (`unused-elim-fn.sml`)
41    
42  #### `codegen`  ### `codegen`
43    
44  * precedence checking for `mkApply` (`clang.sml`)  * precedence checking for `mkApply` (`clang.sml`)
45    
# Line 46  Line 48 
48    
49  * Printing "const" types (`print-as-c.sml`)  * Printing "const" types (`print-as-c.sml`)
50    
51  #### `common`  ### `common`
52    
53  * Determine kernel continuity from kernel definitions (`kernel.sml`)  * Determine kernel continuity from kernel definitions (`kernel.sml`)
54    
55  #### `cxx-util`  ### `cxx-util`
56    
57  * 🔥 handle string-valued inputs in `copy` function (`gen-inputs-util.sml`)  * 🔥 handle string-valued inputs in `copy` function (`gen-inputs-util.sml`)
58    
# Line 77  Line 79 
79    
80  * 🔥 handle tuple types in `trQType` and `trType` (`type-to-cxx.sml`)  * 🔥 handle tuple types in `trQType` and `trType` (`type-to-cxx.sml`)
81    
82  #### `driver`  ### `driver`
83    
84  No issues.  No issues.
85    
86  #### `ein`  ### `ein`
87   * use the `BorderCtl.ctl` type instead of defining a new type (`ein.sml`)   * use the `BorderCtl.ctl` type instead of defining a new type (`ein.sml`)
88    
89  #### `fields`  ### `fields`
90    
91  No issues.  No issues.
92    
93  #### `global-env`  ### `global-env`
94    
95  No issues.  No issues.
96    
97  #### `high-ir`  ### `high-ir`
98    
99  No issues.  No issues.
100    
101  #### `high-opt`  ### `high-opt`
102    
103    * code clean up (`eps-util.sml`)    * code clean up (`eps-util.sml`)
104      - documentation      - documentation
# Line 104  Line 106 
106    
107    * improve efficiency of doRHS by doing one pass of substitutions (`normalize.sml`)    * improve efficiency of doRHS by doing one pass of substitutions (`normalize.sml`)
108    
109  #### `high-to-mid`  ### `high-to-mid`
110    
111    * Switch to `maxItem` function once SML/NJ 110.80 is released (`clean-index.sml`)    * Switch to `maxItem` function once SML/NJ 110.80 is released (`clean-index.sml`)
112    
# Line 114  Line 116 
116    
117    * Improve documentation for the `arrangeBody` function (`probe-ein.sml`)    * Improve documentation for the `arrangeBody` function (`probe-ein.sml`)
118    
119  #### `inputs`  ### `inputs`
120    
121  No issues.  No issues.
122    
123  #### `low-ir`  ### `low-ir`
124    
125  No issues.  No issues.
126    
127  #### `low-opt`  ### `low-opt`
128    
129  No issues.  No issues.
130    
131  #### `low-to-tree`  ### `low-to-tree`
132    
133    * many issues in translating Low IR to Tree IR (`low-to-tree.sml`)    * many issues in translating Low IR to Tree IR (`low-to-tree.sml`)
134      - add support for output globals in `mkGlobalVar`      - add support for output globals in `mkGlobalVar`
135      - 🔥 `RealToInt` translation when the argument has multiple pieces      - 🔥 `RealToInt` translation when the argument has multiple pieces
136      - 🔥 support for `MAPREDUCE`      - 🔥 support for `MAPREDUCE`
137    
138  #### `mid-ir`  ### `mid-ir`
139    
140  No issues.  No issues.
141    
142  #### `mid-opt`  ### `mid-opt`
143    
144  No issues.  No issues.
145    
146  #### `mid-to-low`  ### `mid-to-low`
147    
148    * Generalize `imgToArgs` to handle arbitrary dimension images (`field-to-low.sml`)    * Generalize `imgToArgs` to handle arbitrary dimension images (`field-to-low.sml`)
149    
# Line 151  Line 153 
153    * Generate vector operations instead of scalar operations in more places (`ein-to-low.sml`,    * Generate vector operations instead of scalar operations in more places (`ein-to-low.sml`,
154      `ein-to-scalar.sml`, and `ein-to-vector.sml`)      `ein-to-scalar.sml`, and `ein-to-vector.sml`)
155    
156  #### `mlton`  ### `mlton`
157    
158  No issues.  No issues.
159    
160  #### `nrrd`  ### `nrrd`
161    
162  No issues.  No issues.
163    
164  #### `options`  ### `options`
165    
166    * Bug in `GetOpt` library workaround can be removed once SML/NJ 110.80 is released    * Bug in `GetOpt` library workaround can be removed once SML/NJ 110.80 is released
167    
168  #### `parse-tree`  ### `parse-tree`
169    
170  No issues.  No issues.
171    
172  #### `parser`  ### `parser`
173    
174  No issues.  No issues.
175    
176  #### `simple`  ### `simple`
177    
178    * Invariant checking for Simple AST representation (`check-simple.sml`)    * Invariant checking for Simple AST representation (`check-simple.sml`)
179    
180    * Distinguish between "Continue" in loops and "Continue" in strand methods    * Distinguish between "Continue" in loops and "Continue" in strand methods
181      (`simple.sml`)      (`simple.sml`)
182    
183  #### `simplify`  ### `simplify`
184    
185    * Support fusion of reductions (`map-reduce-opt.sml`)    * Support fusion of reductions (`map-reduce-opt.sml`)
186    
# Line 191  Line 193 
193    
194    * 🔥 Support for `variance` reductions over sequences (`simplify.sml`)    * 🔥 Support for `variance` reductions over sequences (`simplify.sml`)
195    
196  #### `target-cpu`  ### `target-cpu`
197    
198    * switch to building an AST once CLang supports `const` functions (`gen-strand.sml`    * switch to building an AST once CLang supports `const` functions (`gen-strand.sml`
199      and `gen-world.sml`)      and `gen-world.sml`)
# Line 200  Line 202 
202    
203    * 🔥 residual constants during code generation? (`gen.sml`)    * 🔥 residual constants during code generation? (`gen.sml`)
204    
205  #### `translate`  ### `translate`
206    
207    * Implement zero-tensor in Ein (`translate-basis.sml`)    * Implement zero-tensor in Ein (`translate-basis.sml`)
208    
# Line 210  Line 212 
212    
213    * Check possible issues with strand methods that do not reach the exit node (`translate.sml`)    * Check possible issues with strand methods that do not reach the exit node (`translate.sml`)
214    
215  #### `tree-ir`  ### `tree-ir`
216    
217    * Parameterize the `check` function by the target's vector layout rules and    * Parameterize the `check` function by the target's vector layout rules and
218      check for valid layouts (`check-tree.sml`)      check for valid layouts (`check-tree.sml`)
# Line 221  Line 223 
223    
224    * Check user-defined functions (`check-tree.sml`)    * Check user-defined functions (`check-tree.sml`)
225    
226  #### `tree-opt`  ### `tree-opt`
227    
228  No issues.  No issues.
229    
230  #### `typechecker`  ### `typechecker`
231    
232    * Evaluation of constant tensor slice (`check-const.sml`)    * Evaluation of constant tensor slice (`check-const.sml`)
233    
# Line 249  Line 251 
251    
252    * Unification of differentiation bounds (`unify.sml`)    * Unification of differentiation bounds (`unify.sml`)
253    
254    ## Runtime system issues
255    
256    ### `include/diderot`
257    
258      * 🔥 We need to check all of the nrrd-file metadata that the compiler uses when loading
259        an image file (`image-inst.hxx`)
260    
261      * For programs that do not use `new` or `die`, we can allocate less space for the
262        KD-tree partitions (`kdtree-inst.hxx`)
263    
264  # Questions  # Questions
265    
266  #### `ein`  #### `ein`

Legend:
Removed from v.4426  
changed lines
  Added in v.4427

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