If the given SCEVExpr has no (un)signed flags attached to it, transfer these other to the resulting instruction.
@echristo Would you mind taking a particular look at the changes in single-access-no-preloop? As I'm quite confused how both nuw nsw get attached to the add instruction.
This particular pair of lines looks really suspicious. The flags which are correct on an add are very different from those valid on a subtract.
Consider:
add nsw i32 %a, -1
sub nsw nuw i32 %a, 1
OR
add nsw nuw i8 %a, 127 ;; %a must be zero
sub i32 %a, 128