Implement induction variable elimination.
Two main components:
(1) implement the optimization in the opt compiler
(2) extend the opt compiler's GCmaps to deal with the resulting derived pointers.
This optimization is likely to have a larger impact on IA32 where the lack of registers makes it very attractive to reduce the number of distinct values live in a loop.