[CGP] Limit distance between overflow math and cmp

Inserting an overflowing arithmetic intrinsic can increase register

pressure by producing two values at a point where only one is needed,

while the second use maybe several blocks away. This increase in

pressure is likely to be more detrimental on performance than

rematerialising one of the original instructions.

So, check that the arithmetic and compare instructions are no further

apart than their immediate successor/predecessor.

Differential Revision: https://reviews.llvm.org/D59024