1 ; RUN: opt < %s -analyze -enable-new-pm=0 -scalar-evolution | FileCheck %s
2 ; RUN: opt < %s -disable-output "-passes=print<scalar-evolution>" 2>&1 | FileCheck %s
4 ; Exercise getConstantEvolvingPHIOperands on an interesting loop.
5 ; This should complete in milliseconds, not minutes.
7 ; Just check that it actually ran trip count analysis.
8 ; CHECK: Determining loop execution counts for: @test
9 define void @test() nounwind {
14 %iv = phi i32 [ %30, %loop ], [ 0, %entry ]
27 %12 = add i32 %11, %10
28 %13 = add i32 %12, %11
29 %14 = add i32 %13, %12
30 %15 = add i32 %14, %13
31 %16 = add i32 %15, %14
32 %17 = add i32 %16, %15
33 %18 = add i32 %17, %16
34 %19 = add i32 %18, %17
35 %20 = add i32 %19, %18
36 %21 = add i32 %20, %19
37 %22 = add i32 %21, %20
38 %23 = add i32 %22, %21
39 %24 = add i32 %23, %22
40 %25 = add i32 %24, %23
41 %26 = add i32 %25, %24
42 %27 = add i32 %26, %25
43 %28 = add i32 %27, %26
44 %29 = add i32 %28, %27
45 %30 = add i32 %29, %28
46 %cmp = icmp eq i32 %30, -108
47 br i1 %cmp, label %exit, label %loop