Detect expressions of the form: x = WAXPBY(...) where one of the vector args to WAXPBY is the same as x. If so, convert the assignment statement into a WAXPBY!(x, ...) call. Note that the rhs of the assignment is processed first and that may be converted to WAXPBY. So, that previous capability now meshes with this new one to eliminate unnecessary array allocations.
Detect expressions of the form:
x = WAXPBY(...) where one of the vector args to WAXPBY is the same as x.
If so, convert the assignment statement into a WAXPBY!(x, ...) call.
Note that the rhs of the assignment is processed first and that may be converted to WAXPBY.
So, that previous capability now meshes with this new one to eliminate unnecessary array allocations.

IntelLabs/Sparso,IntelLabs/Sparso,IntelLabs/Sparso,IntelLabs/Sparso