1 ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s 2 3 define i1 @main(i16 %a) { 4 ; CHECK-LABEL: Classifying expressions for: @main 5 entry: 6 br label %body 7 8 body: 9 %dec2 = phi i16 [ %a, %entry ], [ %dec, %cond ] 10 %dec = add i16 %dec2, -1 11 %conv2 = zext i16 %dec2 to i32 12 %conv = zext i16 %dec to i32 13 ; CHECK: %conv = zext i16 %dec to i32 14 ; CHECK-NEXT: --> {(zext i16 (-1 + %a) to i32),+,65535}<nuw><%body> 15 ; CHECK-NOT: --> {(65535 + (zext i16 %a to i32)),+,65535}<nuw><%body> 16 17 br label %cond 18 19 cond: 20 br i1 false, label %body, label %exit 21 22 exit: 23 %ret = icmp ne i32 %conv, 0 24 ret i1 %ret 25 } 26