Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Analysis / ScalarEvolution / ext-antecedent.ll
blob20c3c50bb1dfd26a4660e1f1c155c9abb86da5e9
1 ; RUN: opt -S -passes=indvars < %s | FileCheck %s
3 declare void @use(i1)
5 define void @sext_condition(i8 %t) {
6 ; CHECK-LABEL: sext_condition
7  entry:
8   %st = sext i8 %t to i16
9   %ecmp = icmp slt i16 %st, 42
10   br i1 %ecmp, label %loop, label %exit
12  loop:
13 ; CHECK-LABEL: loop
14   %idx = phi i8 [ %t, %entry ], [ %idx.inc, %loop ]
15   %idx.inc = add i8 %idx, 1
16   %c = icmp slt i8 %idx, 42
17 ; CHECK: call void @use(i1 true)
18   call void @use(i1 %c)
19   %be = icmp slt i8 %idx.inc, 42
20   br i1 %be, label %loop, label %exit
22  exit:
23   ret void
26 define void @zext_condition(i8 %t) {
27 ; CHECK-LABEL: zext_condition
28  entry:
29   %st = zext i8 %t to i16
30   %ecmp = icmp ult i16 %st, 42
31   br i1 %ecmp, label %loop, label %exit
33  loop:
34 ; CHECK-LABEL: loop
35   %idx = phi i8 [ %t, %entry ], [ %idx.inc, %loop ]
36   %idx.inc = add i8 %idx, 1
37   %c = icmp ult i8 %idx, 42
38 ; CHECK: call void @use(i1 true)
39   call void @use(i1 %c)
40   %be = icmp ult i8 %idx.inc, 42
41   br i1 %be, label %loop, label %exit
43  exit:
44   ret void