Skip to content

Revamping the Compiler

calvis edited this page May 1, 2012 · 2 revisions

In order to facilitate kernel-fusing optimizations, we need to make some changes to our compiler.

  • void object / pruning-void pass.
  • keep values around further in the compiler. JK, I don't think this is really worth it.
  • move lift-complex down in the pass list, and possibly rename/rewrite it.
  • create an inlining pass, for kernels and iota.
  • keep the vector primitive around longer.
  • rewrite make-kernel-dimensions-explicit so that it does not actually introduce exact dimensions; rather, it can add a number to the kernel form indicating how many dimensions the kernel is, and add another pass to add what becomes the global work size.