27 lines · plain
1; RUN: opt -disable-output "-passes=print<scalar-evolution>,print<scalar-evolution>" < %s 2>&1 | FileCheck %s2 3define void @bad.nsw() {4; CHECK-LABEL: Classifying expressions for: @bad.nsw5; CHECK-LABEL: Classifying expressions for: @bad.nsw6 entry: 7 br label %loop8 9 loop:10 %i = phi i8 [ -1, %entry ], [ %i.inc, %loop ]11; CHECK: %i = phi i8 [ -1, %entry ], [ %i.inc, %loop ]12; CHECK-NEXT: --> {-1,+,-128}<nw><%loop>13; CHECK-NOT: --> {-1,+,-128}<nsw><%loop>14 15 %counter = phi i8 [ 0, %entry ], [ %counter.inc, %loop ]16 17 %i.inc = add i8 %i, -12818 %i.sext = sext i8 %i to i1619 20 %counter.inc = add i8 %counter, 121 %continue = icmp eq i8 %counter, 122 br i1 %continue, label %exit, label %loop23 24 exit:25 ret void 26}27