%i = phi i4 [ %start, %entry ], [ %i.next, %loop ] %i.next = add nsw i4 %i, %stride
If we know that SCEV {(%start + %stride), +, %stride} poison value wil cause UB, it is safe to add SCEV::FlagNSW for it. And it should also be safe for (%start + %stride) to add SCEV::FlagNSW.