29 lines · plain
1; RUN: opt -disable-output "-passes=print<scalar-evolution>" < %s 2>&1 | FileCheck %s2 3%struct.anon = type { i8 }4%struct.S = type { i32 }5 6@a = common global %struct.anon zeroinitializer, align 17@b = common global %struct.S zeroinitializer, align 48 9; Function Attrs: nounwind ssp uwtable10define i32 @main() {11; CHECK-LABEL: Classifying expressions for: @main12 store i8 0, ptr @a, align 113 br label %loop14 15loop:16 %storemerge1 = phi i8 [ 0, %0 ], [ %inc, %loop ]17 %m = load volatile i32, ptr @b, align 418 %inc = add nuw i8 %storemerge1, 119; CHECK: %inc = add nuw i8 %storemerge1, 120; CHECK-NEXT: --> {1,+,1}<nuw><%loop>21; CHECK-NOT: --> {1,+,1}<nuw><nsw><%loop>22 %exitcond = icmp eq i8 %inc, -12823 br i1 %exitcond, label %exit, label %loop24 25exit:26 store i8 -128, ptr @a, align 127 ret i32 028}29