OP2/PyOP2 — pull request #329 by FabioLuporini (2014-03-11 18:22:22+00:00)
Title: Expression splitting

This introduces a new optimization: assembly splitting. When the assembly expression is "too big for the number of registers available on the machine", it can be split into multiple sub-expressions exploiting sum's associativity and commutativity.

This is implemented by traversing and manipulating the AST.

Lord knows whether this is going to be re-usable for GPUs as well.

We now also properly check whether the vectorizer has been correctly initialized before emitting code.