1; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s 2 3define i1 @main(i16 %a) { 4; CHECK-LABEL: Classifying expressions for: @main 5entry: 6 br label %body 7 8body: 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 19cond: 20 br i1 false, label %body, label %exit 21 22exit: 23 %ret = icmp ne i32 %conv, 0 24 ret i1 %ret 25} 26