1 ; RUN: opt -analyze -enable-new-pm=0 -scalar-evolution < %s | FileCheck %s
2 ; RUN: opt -disable-output "-passes=print<scalar-evolution>" < %s 2>&1 | FileCheck %s
4 define i1 @main(i16 %a) {
5 ; CHECK-LABEL: Classifying expressions for: @main
10 %dec2 = phi i16 [ %a, %entry ], [ %dec, %cond ]
11 %dec = add i16 %dec2, -1
12 %conv2 = zext i16 %dec2 to i32
13 %conv = zext i16 %dec to i32
14 ; CHECK: %conv = zext i16 %dec to i32
15 ; CHECK-NEXT: --> {(zext i16 (-1 + %a) to i32),+,65535}<nuw><%body>
16 ; CHECK-NOT: --> {(65535 + (zext i16 %a to i32)),+,65535}<nuw><%body>
21 br i1 false, label %body, label %exit
24 %ret = icmp ne i32 %conv, 0