Stripping out blocking
The AST contains wlblock
and wlublock
nodes that are generated, but that are not reachable from any other node.
The code seems to be written by Dietmar Kreye in 1998 - 2000.
While blocking is definitely an important optimisation, I don't think that this is practical to do this with compiler transformations because it depends on the algorithm structure as well as cache sizes and backends. (See also the failure of polyhedral optimisations.) Since 25 years ago we have learned that many of these optimisations can be elegantly expressed by encoding the blocking in the array shapes.
This code complicates the compilation of with-loops. I spent a lot of time reverse engineering things for the distmem backend that turned out were never generated, so this hurts the maintainability of the compiler.
Given this, and that the blocking currently does not work anyway, I think we should remove it. I have stripped it out in !360