Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Analysis / ScalarEvolution / trip-count-switch.ll
blobd2b6e1f4e7ccc605801cd22b1ed0ab79bd0c5298
1 ; RUN: opt < %s -disable-output "-passes=print<scalar-evolution>" 2>&1 | FileCheck %s
3 declare void @foo()
5 define void @test1() nounwind {
6 entry:
7   br label %for.cond
9 for.cond:                                         ; preds = %if.end, %entry
10   %i.0 = phi i32 [ 2, %entry ], [ %dec, %if.end ]
11   switch i32 %i.0, label %if.end [
12     i32 0, label %for.end
13     i32 1, label %if.then
14   ]
16 if.then:                                          ; preds = %for.cond
17   tail call void @foo()
18   br label %if.end
20 if.end:                                           ; preds = %for.cond, %if.then
21   %dec = add nsw i32 %i.0, -1
22   br label %for.cond
24 for.end:                                          ; preds = %for.cond
25   ret void
27 ; CHECK-LABEL: @test1
28 ; CHECK: Loop %for.cond: backedge-taken count is 2
29 ; CHECK: Loop %for.cond: constant max backedge-taken count is 2