64 lines · plain
1; RUN: opt -S -passes=indvars < %s | FileCheck %s2 3; CHECK: @test4; CHECK: %5 = add i32 %local_6_, %local_0_5; CHECK: %37 = mul i32 %36, %366 7define i32 @test(i32, i32) {8bci_0:9 br label %bci_3010 11bci_68: ; preds = %bci_4512 %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, 26216 %3 = add i32 %2, %.lcssa1.lcssa17 %4 = add i32 %3, %.lcssa.lcssa18 ret i32 %419 20bci_30: ; preds = %bci_45, %bci_021 %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_4525 26bci_45: ; preds = %bci_3027 %6 = mul i32 %5, %528 %7 = mul i32 %6, %629 %8 = mul i32 %7, %730 %9 = mul i32 %8, %831 %10 = mul i32 %9, %932 %11 = mul i32 %10, %1033 %12 = mul i32 %11, %1134 %13 = mul i32 %12, %1235 %14 = mul i32 %13, %1336 %15 = mul i32 %14, %1437 %16 = mul i32 %15, %1538 %17 = mul i32 %16, %1639 %18 = mul i32 %17, %1740 %19 = mul i32 %18, %1841 %20 = mul i32 %19, %1942 %21 = mul i32 %20, %2043 %22 = mul i32 %21, %2144 %23 = mul i32 %22, %2245 %24 = mul i32 %23, %2346 %25 = mul i32 %24, %2447 %26 = mul i32 %25, %2548 %27 = mul i32 %26, %2649 %28 = mul i32 %27, %2750 %29 = mul i32 %28, %2851 %30 = mul i32 %29, %2952 %31 = mul i32 %30, %3053 %32 = mul i32 %31, %3154 %33 = mul i32 %32, %3255 %34 = mul i32 %33, %3356 %35 = mul i32 %34, %3457 %36 = mul i32 %35, %3558 %37 = mul i32 %36, %3659 %38 = add i32 %37, -1160 %39 = add i32 %local_6_, 161 %40 = icmp sgt i32 %39, 7662 br i1 %40, label %bci_68, label %bci_3063}64