Allow op-assigned local variables to be eliminated.
I realized that we were over-protective of expressions like `a += b`
because the `a` was being marked as read-write, but in practice, the
expression's result was being discarded. That is, we were writing,
but we weren't actually reading. An ExpressionStatement will now
look for assignment expressions like this one, and demote the
assignment variable from "read-write" to "write." This gives us
exciting new opportunities for dead local-variable elimination.
Reviewed-by: Michael Ludwig <email@example.com>
Auto-Submit: John Stiles <firstname.lastname@example.org>
Commit-Queue: John Stiles <email@example.com>
11 files changed