blob: 3b55afe0845453266d15112e948f2d7bb0057761 [file] [log] [blame]
Sanjoy Dasb14010d2015-02-24 01:02:42 +00001; 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}