If the loop has a predictable back-edge count and we have another IV (say IV-B)
that is an affine add recursion, we will be able to calculate the terminating
value of IV-B in the loop preheader. This patch adds attempts to replace IV-B
as the new terminating condition and remove IV-A. It is safe to do so when IV-A
is only used as the terminating condition.
This transformation is suitable to be appended after LSR as it may optimize the
lopp into the situation mentioned above. The transformation can reduce number of
IV-s in the loop by one.