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