1; RUN: opt -S -indvars < %s | FileCheck %s
2
3; CHECK: @test
4; CHECK: %5 = add i32 %local_6_, %local_0_
5; CHECK: %37 = mul i32 %36, %36
6
7define i32 @test(i32, i32) {
8bci_0:
9  br label %bci_30
10
11bci_68:                                           ; preds = %bci_45
12  %local_6_.lcssa = phi i32 [ %local_6_, %bci_45 ]
13  %.lcssa1.lcssa = phi i32 [ %37, %bci_45 ]
14  %.lcssa.lcssa = phi i32 [ 34, %bci_45 ]
15  %2 = add i32 %local_6_.lcssa, 262
16  %3 = add i32 %2, %.lcssa1.lcssa
17  %4 = add i32 %3, %.lcssa.lcssa
18  ret i32 %4
19
20bci_30:                                           ; preds = %bci_45, %bci_0
21  %local_0_ = phi i32 [ %0, %bci_0 ], [ %38, %bci_45 ]
22  %local_6_ = phi i32 [ 2, %bci_0 ], [ %39, %bci_45 ]
23  %5 = add i32 %local_6_, %local_0_
24  br label %bci_45
25
26bci_45:                                           ; preds = %bci_30
27  %6 = mul i32 %5, %5
28  %7 = mul i32 %6, %6
29  %8 = mul i32 %7, %7
30  %9 = mul i32 %8, %8
31  %10 = mul i32 %9, %9
32  %11 = mul i32 %10, %10
33  %12 = mul i32 %11, %11
34  %13 = mul i32 %12, %12
35  %14 = mul i32 %13, %13
36  %15 = mul i32 %14, %14
37  %16 = mul i32 %15, %15
38  %17 = mul i32 %16, %16
39  %18 = mul i32 %17, %17
40  %19 = mul i32 %18, %18
41  %20 = mul i32 %19, %19
42  %21 = mul i32 %20, %20
43  %22 = mul i32 %21, %21
44  %23 = mul i32 %22, %22
45  %24 = mul i32 %23, %23
46  %25 = mul i32 %24, %24
47  %26 = mul i32 %25, %25
48  %27 = mul i32 %26, %26
49  %28 = mul i32 %27, %27
50  %29 = mul i32 %28, %28
51  %30 = mul i32 %29, %29
52  %31 = mul i32 %30, %30
53  %32 = mul i32 %31, %31
54  %33 = mul i32 %32, %32
55  %34 = mul i32 %33, %33
56  %35 = mul i32 %34, %34
57  %36 = mul i32 %35, %35
58  %37 = mul i32 %36, %36
59  %38 = add i32 %37, -11
60  %39 = add i32 %local_6_, 1
61  %40 = icmp sgt i32 %39, 76
62  br i1 %40, label %bci_68, label %bci_30
63}
64