Hello,
The patch teaches ScalarEvolution to compute trip count for loops such as these-
for(int i=0; i<n; i+=s) { A[i] = i; }
The basic idea is that if the IV has a nsw/nuw flag and loop has no side effects then we can assume the direction of the loop and compute the correct backedge taken count.