(If anyone has better terminology for this than "rotation", please throw it out.)
If we have a loop exit test which involves a loop varying binary op compared to a loop invariant value, see if we can invert that binary op on both sides of the comparison. This doesn't directly remove any instructions, but does make more of the computation loop invariant. This both helps directly for long running loops, and also simplifies the loop structure such that other transforms may run.