Two bug fixes: address mode optimization and phi lowering.

Revert 897b5cf and provide a better implementation.  897b5cf stopped
the pattern matchine too early, leaving some opportunities on the
table.

Changeset cf4fd77 (remove multiple defs) broke phi lowering and then
dead code elimination was very efficient at removing lots of code.