diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 2e3087f8362fe..6794d7e7b27de 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -13369,11 +13369,12 @@ static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE, OS << ": "; if (!isa(SE->getConstantMaxBackedgeTakenCount(L))) { - OS << "max backedge-taken count is " << *SE->getConstantMaxBackedgeTakenCount(L); + OS << "constant max backedge-taken count is " + << *SE->getConstantMaxBackedgeTakenCount(L); if (SE->isBackedgeTakenCountMaxOrZero(L)) OS << ", actual taken count either this or zero."; } else { - OS << "Unpredictable max backedge-taken count. "; + OS << "Unpredictable constant max backedge-taken count. "; } OS << "\n" diff --git a/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride1.ll b/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride1.ll index 827bb0cbaa35f..4a799bd94ced8 100644 --- a/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride1.ll +++ b/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride1.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -disable-output "-passes=print" 2>&1 | FileCheck %s ; CHECK: Loop %bb: backedge-taken count is ((-5 + %x) /u 3) -; CHECK: Loop %bb: max backedge-taken count is 1431655764 +; CHECK: Loop %bb: constant max backedge-taken count is 1431655764 ; ScalarEvolution can't compute a trip count because it doesn't know if diff --git a/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride2.ll b/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride2.ll index a6407313bcab9..566f74868b861 100644 --- a/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride2.ll +++ b/llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride2.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -disable-output "-passes=print" 2>&1 2>&1 | FileCheck %s ; CHECK: Loop %bb: backedge-taken count is (((-3 + (-1 * (1 umin (-3 + (-1 * %x) + (1000 umax (3 + %x))))) + (-1 * %x) + (1000 umax (3 + %x))) /u 3) + (1 umin (-3 + (-1 * %x) + (1000 umax (3 + %x))))) -; CHECK: Loop %bb: max backedge-taken count is 334 +; CHECK: Loop %bb: constant max backedge-taken count is 334 ; This is a tricky testcase for unsigned wrap detection which ScalarEvolution diff --git a/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll b/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll index 702764d5d830e..88beac3c77386 100644 --- a/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll +++ b/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll @@ -47,7 +47,7 @@ define i32 @d(i32 %base) { ; CHECK-NEXT: --> {(1 + %base),+,1}<%for.cond> U: full-set S: full-set Exits: <> LoopDispositions: { %for.cond: Computable } ; CHECK-NEXT: Determining loop execution counts for: @d ; CHECK-NEXT: Loop %for.cond: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.cond: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.cond: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.cond: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll b/llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll index f0ee06e9072fd..8de3e487a2534 100644 --- a/llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll +++ b/llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll @@ -27,15 +27,15 @@ define void @test(i32* %p) { ; CHECK-NEXT: --> {{\{}}{%iv,+,1}<%loop2>,+,1}<%loop3> U: full-set S: full-set --> {%iv,+,1}<%loop2> U: full-set S: full-set Exits: <> LoopDispositions: { %loop.header: Variant, %loop2: Variant, %loop3: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test ; CHECK-NEXT: Loop %loop2: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop2: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop2: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop2: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %loop3: backedge-taken count is false -; CHECK-NEXT: Loop %loop3: max backedge-taken count is false +; CHECK-NEXT: Loop %loop3: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop3: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop3: Trip multiple is 1 ; CHECK-NEXT: Loop %loop.header: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop.header: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop.header: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop.header: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll b/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll index 215cab45bc030..a6195498d7a84 100644 --- a/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll +++ b/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll @@ -30,10 +30,10 @@ define void @test(i64* %arg) { ; CHECK-NEXT: Loop %loop2.header: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop2.header: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for loop2.latch: false -; CHECK-NEXT: Loop %loop2.header: max backedge-taken count is false +; CHECK-NEXT: Loop %loop2.header: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop2.header: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %loop.header: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop.header: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop.header: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop.header: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/cycled_phis.ll b/llvm/test/Analysis/ScalarEvolution/cycled_phis.ll index 80cf153c913bb..a3146cf04dca1 100644 --- a/llvm/test/Analysis/ScalarEvolution/cycled_phis.ll +++ b/llvm/test/Analysis/ScalarEvolution/cycled_phis.ll @@ -15,7 +15,7 @@ define void @test_01() { ; CHECK-NEXT: --> %cond U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_01 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -51,10 +51,10 @@ define void @test_02(i32* %p, i32* %q) { ; CHECK-NEXT: --> %outer_cond U: full-set S: full-set Exits: <> LoopDispositions: { %outer_loop: Variant, %inner_loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @test_02 ; CHECK-NEXT: Loop %inner_loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %inner_loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %inner_loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %inner_loop: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %outer_loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %outer_loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %outer_loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %outer_loop: Unpredictable predicated backedge-taken count. ; entry: @@ -102,10 +102,10 @@ define void @test_03(i32* %p, i32* %q) { ; CHECK-NEXT: --> %outer_cond U: full-set S: full-set Exits: <> LoopDispositions: { %outer_loop: Variant, %inner_loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @test_03 ; CHECK-NEXT: Loop %inner_loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %inner_loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %inner_loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %inner_loop: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %outer_loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %outer_loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %outer_loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %outer_loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll b/llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll index a916f175b4ad2..f4b1f8292a1a3 100644 --- a/llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll +++ b/llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll @@ -14,12 +14,12 @@ define void @test_and(i16 %in) { ; CHECK-NEXT: --> (%_tmp10.i umin %exitcond.i) U: full-set S: full-set Exits: true LoopDispositions: { %bb1.i: Variant, %bb2: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_and ; CHECK-NEXT: Loop %bb1.i: backedge-taken count is (1 + (-1 * %in)) -; CHECK-NEXT: Loop %bb1.i: max backedge-taken count is -1 +; CHECK-NEXT: Loop %bb1.i: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %bb1.i: Predicated backedge-taken count is (1 + (-1 * %in)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb1.i: Trip multiple is 1 ; CHECK-NEXT: Loop %bb2: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %bb2: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %bb2: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %bb2: Unpredictable predicated backedge-taken count. ; br label %bb2 @@ -54,7 +54,7 @@ define void @test_or() { ; CHECK-NEXT: --> (%C11 umax %C5) U: full-set S: full-set Exits: false LoopDispositions: { %BB: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_or ; CHECK-NEXT: Loop %BB: backedge-taken count is undef -; CHECK-NEXT: Loop %BB: max backedge-taken count is -1 +; CHECK-NEXT: Loop %BB: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %BB: Predicated backedge-taken count is undef ; CHECK-NEXT: Predicates: ; CHECK: Loop %BB: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll b/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll index bf5f600db098d..8a84737a15db5 100644 --- a/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll +++ b/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll @@ -6,7 +6,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @f_0() { ; CHECK-LABEL: Printing analysis 'Scalar Evolution Analysis' for function 'f_0': ; CHECK: Loop %for.body: backedge-taken count is 5 -; CHECK: Loop %for.body: max backedge-taken count is 5 +; CHECK: Loop %for.body: constant max backedge-taken count is 5 ; CHECK: Loop %for.body: Predicated backedge-taken count is 5 entry: diff --git a/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll b/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll index 28adb9c05953c..39fe9d092feaa 100644 --- a/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll +++ b/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll @@ -12,7 +12,7 @@ define i32 @logical_and_2ops(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_2ops ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -41,7 +41,7 @@ define i32 @logical_or_2ops(i32 %n, i32 %m) { ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_2ops ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -72,7 +72,7 @@ define i32 @logical_and_3ops(i32 %n, i32 %m, i32 %k) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 umin_seq %cond_p2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_3ops ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq %k) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq %k) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -105,7 +105,7 @@ define i32 @logical_or_3ops(i32 %n, i32 %m, i32 %k) { ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq %k) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq %k) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -140,7 +140,7 @@ define i32 @logical_or_3ops_duplicate(i32 %n, i32 %m, i32 %k) { ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2) umin_seq (true + %cond_p3))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_duplicate ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq %k) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq %k) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -177,7 +177,7 @@ define i32 @logical_or_3ops_redundant_uminseq_operand(i32 %n, i32 %m, i32 %k) { ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_redundant_uminseq_operand ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n umin %m) umin_seq %k) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n umin %m) umin_seq %k) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -213,7 +213,7 @@ define i32 @logical_or_3ops_redundant_umin_operand(i32 %n, i32 %m, i32 %k) { ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_redundant_umin_operand ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %k umin_seq %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %k umin_seq %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -251,7 +251,7 @@ define i32 @logical_or_4ops_redundant_operand_across_umins(i32 %n, i32 %m, i32 % ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_4ops_redundant_operand_across_umins ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n umin %m) umin_seq %k umin_seq %q) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n umin %m) umin_seq %k umin_seq %q) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -290,7 +290,7 @@ define i32 @logical_or_3ops_operand_wise_redundant_umin(i32 %n, i32 %m, i32 %k) ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_operand_wise_redundant_umin ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n umin %m) umin_seq %k) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n umin %m) umin_seq %k) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -327,7 +327,7 @@ define i32 @logical_or_3ops_partially_redundant_umin(i32 %n, i32 %m, i32 %k) { ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_partially_redundant_umin ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq (%m umin %k)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq (%m umin %k)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -372,12 +372,12 @@ define i32 @logical_or_5ops_redundant_opearand_of_inner_uminseq(i32 %a, i32 %b, ; CHECK-NEXT: --> (true + ((true + %cond_p5) umin_seq (true + %cond_p6) umin_seq (true + %cond_p7))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_5ops_redundant_opearand_of_inner_uminseq ; CHECK-NEXT: Loop %loop: backedge-taken count is (%a umin_seq %b umin_seq ((%e umin_seq %d) umin %c)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%a umin_seq %b umin_seq ((%e umin_seq %d) umin %c)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 ; CHECK-NEXT: Loop %first.loop: backedge-taken count is (%e umin_seq %d umin_seq %a) -; CHECK-NEXT: Loop %first.loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %first.loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %first.loop: Predicated backedge-taken count is (%e umin_seq %d umin_seq %a) ; CHECK-NEXT: Predicates: ; CHECK: Loop %first.loop: Trip multiple is 1 @@ -423,7 +423,7 @@ define i32 @logical_and_2ops_and_constant(i32 %n, i32 %m, i32 %k) { ; CHECK-NEXT: --> (true + ((true + %cond_p1) umin_seq (true + %cond_p0))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_2ops_and_constant ; CHECK-NEXT: Loop %loop: backedge-taken count is (42 umin %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 42 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 42 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (42 umin %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -461,17 +461,17 @@ define i32 @computeSCEVAtScope(i32 %d.0) { ; CHECK-NEXT: --> {1,+,1}<%for.cond4> U: [1,2) S: [1,2) Exits: 1 LoopDispositions: { %for.cond4: Computable, %while.cond: Variant } ; CHECK-NEXT: Determining loop execution counts for: @computeSCEVAtScope ; CHECK-NEXT: Loop %for.cond: backedge-taken count is (-1 * %d.0) -; CHECK-NEXT: Loop %for.cond: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.cond: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.cond: Predicated backedge-taken count is (-1 * %d.0) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.cond: Trip multiple is 1 ; CHECK-NEXT: Loop %for.cond4: backedge-taken count is 0 -; CHECK-NEXT: Loop %for.cond4: max backedge-taken count is 0 +; CHECK-NEXT: Loop %for.cond4: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %for.cond4: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.cond4: Trip multiple is 1 ; CHECK-NEXT: Loop %while.cond: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %while.cond: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %while.cond: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %while.cond: Unpredictable predicated backedge-taken count. ; entry: @@ -527,7 +527,7 @@ define i64 @uminseq_vs_ptrtoint_complexity(i64 %n, i64 %m, i64* %ptr) { ; CHECK-NEXT: --> {(ptrtoint i64* %ptr to i64),+,1}<%loop> U: full-set S: full-set --> ((%n umin_seq %m) + (ptrtoint i64* %ptr to i64)) U: full-set S: full-set ; CHECK-NEXT: Determining loop execution counts for: @uminseq_vs_ptrtoint_complexity ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -560,7 +560,7 @@ define i32 @logical_and_implies_poison1(i32 %n) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison1 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + %n) umin %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((1 + %n) umin %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -592,7 +592,7 @@ define i32 @logical_and_implies_poison2(i32 %n) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + %n) umin %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((1 + %n) umin %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -624,7 +624,7 @@ define i32 @logical_and_implies_poison3(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison3 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -656,7 +656,7 @@ define i32 @logical_and_implies_poison_wrong_direction(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_wrong_direction ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq (%n + %m)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq (%n + %m)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -686,7 +686,7 @@ define i32 @logical_and_implies_poison_noundef(i32 %n, i32 noundef %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_noundef ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -715,7 +715,7 @@ define i32 @logical_and_implies_poison_noundef_wrong_direction(i32 %n, i32 nound ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_noundef_wrong_direction ; CHECK-NEXT: Loop %loop: backedge-taken count is (%m umin_seq %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%m umin_seq %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -748,7 +748,7 @@ define i32 @logical_and_implies_poison_complex1(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex1 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin (1 + %n + %m)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin (1 + %n + %m)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -783,7 +783,7 @@ define i32 @logical_and_implies_poison_complex2(i32 %n, i32 %m, i32 %l) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin (%n + %m + %l)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin (%n + %m + %l)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -818,7 +818,7 @@ define i32 @logical_and_implies_poison_complex_wrong_direction(i32 %n, i32 %m, i ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex_wrong_direction ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin_seq (%n + %m + %l)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin_seq (%n + %m + %l)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -853,7 +853,7 @@ define i32 @logical_and_implies_multiple_ops(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 umin_seq %cond_p2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops ; CHECK-NEXT: Loop %loop: backedge-taken count is (((1 + %n) umin %n) umin_seq %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (((1 + %n) umin %n) umin_seq %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -889,7 +889,7 @@ define i32 @logical_and_implies_multiple_ops2(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 umin_seq %cond_p2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq (1 + %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq (1 + %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -925,7 +925,7 @@ define i32 @logical_and_implies_multiple_ops3(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 umin_seq %cond_p2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops3 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%m umin_seq ((1 + %n) umin %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%m umin_seq ((1 + %n) umin %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -961,7 +961,7 @@ define i32 @logical_and_not_zero(i16 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_zero ; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + (zext i16 %n to i32)) umin %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65536 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65536 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((1 + (zext i16 %n to i32)) umin %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -996,7 +996,7 @@ define i32 @logical_and_not_zero_wrong_order(i16 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_zero_wrong_order ; CHECK-NEXT: Loop %loop: backedge-taken count is (%m umin_seq (1 + (zext i16 %n to i32))) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65536 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65536 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%m umin_seq (1 + (zext i16 %n to i32))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1027,7 +1027,7 @@ define i32 @logical_and_not_zero_needs_context(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_zero_needs_context ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1065,7 +1065,7 @@ define i32 @logical_and_known_smaller(i16 %n, i16 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_smaller ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65535 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1103,7 +1103,7 @@ define i32 @logical_and_known_smaller_equal(i16 %n, i16 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_smaller_equal ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65535 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1141,7 +1141,7 @@ define i32 @logical_and_not_known_smaller_equal(i16 %n, i16 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_known_smaller_equal ; CHECK-NEXT: Loop %loop: backedge-taken count is ((zext i16 %n to i32) umin_seq (65534 + (zext i16 %m to i32))) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65535 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((zext i16 %n to i32) umin_seq (65534 + (zext i16 %m to i32))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1179,7 +1179,7 @@ define i32 @logical_and_known_greater(i16 %n, i16 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_greater ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65535 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1217,7 +1217,7 @@ define i32 @logical_and_known_greater_equal(i16 %n, i16 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_greater_equal ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65535 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1255,7 +1255,7 @@ define i32 @logical_and_not_known_greater_equal(i16 %n, i16 %m) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_known_greater_equal ; CHECK-NEXT: Loop %loop: backedge-taken count is ((zext i16 %n to i32) umin (65534 + (zext i16 %m to i32))) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 65535 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((zext i16 %n to i32) umin (65534 + (zext i16 %m to i32))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1287,7 +1287,7 @@ define i32 @logical_and_zero_arg1(i32 %n) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: false LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_zero_arg1 ; CHECK-NEXT: Loop %loop: backedge-taken count is 0 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 0 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1316,7 +1316,7 @@ define i32 @logical_and_zero_arg2(i32 %n) { ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: false LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_zero_arg2 ; CHECK-NEXT: Loop %loop: backedge-taken count is 0 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 0 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll b/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll index 46c8481f70e27..bd56099da9b37 100644 --- a/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll +++ b/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll @@ -14,7 +14,7 @@ define void @logical_and_m_const(i32 %n) { ; CHECK-NEXT: --> (%cond_i umin_seq %cond_i2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_m_const ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (2 umin %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -45,7 +45,7 @@ define void @logical_and_nonzero(i32 %m) { ; CHECK-NEXT: --> (%cond_i umin_seq %cond_i2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_nonzero ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (2 umin %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -77,7 +77,7 @@ define void @logical_and_zero(i32 %m) { ; CHECK-NEXT: --> (%cond_i umin_seq %cond_i2) U: full-set S: full-set Exits: false LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_zero ; CHECK-NEXT: Loop %loop: backedge-taken count is 0 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 0 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -110,7 +110,7 @@ define void @logical_and_inversed(i32 %n, i32 %m) { ; CHECK-NEXT: --> (%cond_i umin_seq %cond_i2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_and_inversed ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -139,7 +139,7 @@ define void @logical_or_m_const(i32 %n) { ; CHECK-NEXT: --> (true + ((true + %cond_i) umin_seq (true + %cond_i2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_m_const ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (2 umin %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -170,7 +170,7 @@ define void @logical_or_nonzero(i32 %m) { ; CHECK-NEXT: --> (true + ((true + %cond_i) umin_seq (true + %cond_i2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_nonzero ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %m) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (2 umin %m) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -202,7 +202,7 @@ define void @logical_or_zero(i32 %m) { ; CHECK-NEXT: --> (true + ((true + %cond_i) umin_seq (true + %cond_i2))) U: full-set S: full-set Exits: true LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_zero ; CHECK-NEXT: Loop %loop: backedge-taken count is 0 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 0 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -235,7 +235,7 @@ define void @logical_or_inversed(i32 %n, i32 %m) { ; CHECK-NEXT: --> (true + ((true + %cond_i) umin_seq (true + %cond_i2))) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @logical_or_inversed ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll b/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll index 4f8420dfe2e01..e27b0b28c520d 100644 --- a/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll +++ b/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll @@ -3,7 +3,7 @@ ; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'f': ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: max backedge-taken count is 0 +; CHECK: Loop %loop: constant max backedge-taken count is 0 ; CHECK: Loop %loop: Unpredictable predicated backedge-taken count. diff --git a/llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll b/llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll index 1c6cf2212d2ca..07f004e9e8ee4 100644 --- a/llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll +++ b/llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll @@ -10,7 +10,7 @@ define void @SLE(i32 %len) willreturn { ; CHECK-LABEL: 'SLE' ; CHECK-NEXT: Determining loop execution counts for: @SLE ; CHECK-NEXT: Loop %for.body: backedge-taken count is (0 smax (1 + %len)) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483647 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483647 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (0 smax (1 + %len)) ; CHECK-NEXT: Predicates: ; @@ -32,7 +32,7 @@ define void @SLE_infinite(i32 %len) { ; CHECK-LABEL: 'SLE_infinite' ; CHECK-NEXT: Determining loop execution counts for: @SLE_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; entry: br label %for.body @@ -52,7 +52,7 @@ define void @ULE(i32 %len) willreturn { ; CHECK-LABEL: 'ULE' ; CHECK-NEXT: Determining loop execution counts for: @ULE ; CHECK-NEXT: Loop %for.body: backedge-taken count is (1 + %len) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (1 + %len) ; CHECK-NEXT: Predicates: ; @@ -74,7 +74,7 @@ define void @ULE_infinite(i32 %len) { ; CHECK-LABEL: 'ULE_infinite' ; CHECK-NEXT: Determining loop execution counts for: @ULE_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; entry: br label %for.body @@ -94,7 +94,7 @@ define void @SGE(i32 %end) willreturn { ; CHECK-LABEL: 'SGE' ; CHECK-NEXT: Determining loop execution counts for: @SGE ; CHECK-NEXT: Loop %for.body: backedge-taken count is (100 + (-1 * (100 smin (-1 + %end)))) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2147483548 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2147483548 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (100 + (-1 * (100 smin (-1 + %end)))) ; CHECK-NEXT: Predicates: ; @@ -116,7 +116,7 @@ define void @SGE_infinite(i32 %end) { ; CHECK-LABEL: 'SGE_infinite' ; CHECK-NEXT: Determining loop execution counts for: @SGE_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; entry: br label %for.body @@ -136,7 +136,7 @@ define void @UGE(i32 %end) willreturn { ; CHECK-LABEL: 'UGE' ; CHECK-NEXT: Determining loop execution counts for: @UGE ; CHECK-NEXT: Loop %for.body: backedge-taken count is (100 + (-1 * (100 umin (-1 + %end)))) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 100 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 100 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (100 + (-1 * (100 umin (-1 + %end)))) ; CHECK-NEXT: Predicates: ; @@ -158,7 +158,7 @@ define void @UGE_infinite(i32 %end) { ; CHECK-LABEL: 'UGE_infinite' ; CHECK-NEXT: Determining loop execution counts for: @UGE_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; entry: br label %for.body diff --git a/llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll b/llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll index 3e715f5656d36..0ce974cc43cd1 100644 --- a/llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll +++ b/llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll @@ -25,12 +25,12 @@ define void @subrecurrences(i32 %outer_l, i32 %inner_l, i32 %val) { ; NOTE: Line deleted from autogen output due to format confusing regex matcher ; CHECK-NEXT: Determining loop execution counts for: @subrecurrences ; CHECK-NEXT: Loop %inner: backedge-taken count is %inner_l -; CHECK-NEXT: Loop %inner: max backedge-taken count is -1 +; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is %inner_l ; CHECK-NEXT: Predicates: ; CHECK: Loop %inner: Trip multiple is 1 ; CHECK-NEXT: Loop %outer: backedge-taken count is %outer_l -; CHECK-NEXT: Loop %outer: max backedge-taken count is -1 +; CHECK-NEXT: Loop %outer: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %outer: Predicated backedge-taken count is %outer_l ; CHECK-NEXT: Predicates: ; CHECK: Loop %outer: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll b/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll index bfbccde74b692..9f31f2e19f965 100644 --- a/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll +++ b/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll @@ -30,7 +30,7 @@ define void @test-add-nsw(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -68,7 +68,7 @@ define void @test-add-nuw(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-nuw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -107,7 +107,7 @@ define void @test-add-scope-invariant(i32* %input, i32 %needle) { ; CHECK-NEXT: --> ((4 * (sext i32 {(1 + %offset),+,1}<%loop> to i64)) + %input) U: full-set S: full-set Exits: ((4 * (sext i32 %needle to i64)) + %input) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-invariant ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %offset) + %needle) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %offset) + %needle) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -147,7 +147,7 @@ define void @test-add-scope-bound(i32* %input, i32 %needle) { ; CHECK-NEXT: --> ((4 * ((sext i32 {1,+,1}<%loop> to i64) + (sext i32 %offset to i64))) + %input) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-bound ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -180,7 +180,7 @@ define void @test-add-scope-bound-unkn-preheader(i32* %input, i32 %needle) { ; CHECK-NEXT: --> ((4 * (sext i32 {%offset,+,%offset}<%loop> to i64)) + %input) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-bound-unkn-preheader ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -211,7 +211,7 @@ define void @test-add-scope-bound-unkn-preheader-neg1(i32* %input, i32 %needle) ; CHECK-NEXT: --> ((4 * (sext i32 {%offset,+,%offset}<%loop> to i64)) + %input) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-bound-unkn-preheader-neg1 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -243,7 +243,7 @@ define void @test-add-scope-bound-unkn-preheader-neg2(i32* %input, i32 %needle) ; CHECK-NEXT: --> ((4 * (sext i32 {%offset,+,%offset}<%loop> to i64)) + %input) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-bound-unkn-preheader-neg2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -278,7 +278,7 @@ define void @test-add-scope-bound-unkn-header(i32* %input, i32 %needle) { ; CHECK-NEXT: --> ((4 * (sext i32 (%offset + %i) to i64)) + %input) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-bound-unkn-header ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -312,7 +312,7 @@ define void @test-add-scope-bound-unkn-header2(i32* %input, i32 %needle) { ; CHECK-NEXT: --> ((4 * (sext i32 (%offset + %i) to i64)) + %input) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-bound-unkn-header2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -347,7 +347,7 @@ define void @test-add-scope-bound-unkn-header-neg(i32* %input, i32 %needle) { ; CHECK-NEXT: --> ((4 * (sext i32 (%offset + %i) to i64)) + %input) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test-add-scope-bound-unkn-header-neg ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -382,7 +382,7 @@ define void @test-add-nuw-from-icmp(float* %input, i32 %offset, ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-nuw-from-icmp ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -421,7 +421,7 @@ define void @test-add-no-load(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-no-load ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -458,7 +458,7 @@ define void @test-add-not-header(float* %input, i32 %offset, i32 %numIterations) ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-not-header ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -496,7 +496,7 @@ define void @test-add-not-header2(float* %input, i32 %offset, i32 %numIterations ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-not-header2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -538,7 +538,7 @@ define void @test-add-not-header3(float* %input, i32 %offset, i32 %numIterations ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for loop2: (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; i1* %cond_buf) { @@ -576,7 +576,7 @@ define void @test-add-not-header4(float* %input, i32 %offset, i32 %numIterations ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-not-header4 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -617,7 +617,7 @@ define void @test-add-not-header5(float* %input, i32 %offset) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: <> LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-not-header5 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -651,7 +651,7 @@ define void @test-add-call(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-call ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -688,7 +688,7 @@ define void @test-add-call2(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-call2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -724,7 +724,7 @@ define void @test-gep-propagates-poison(float* %input, i32 %offset, i32 %numIter ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-gep-propagates-poison ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -762,7 +762,7 @@ define void @test-add-mul-propagates(float* %input, i32 %offset, i32 %numIterati ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-mul-propagates ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -800,7 +800,7 @@ define void @test-mul-propagates-poison(float* %input, i32 %offset, i32 %numIter ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-mul-propagates-poison ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -837,7 +837,7 @@ define void @test-mul-propagates-poison-2(float* %input, i32 %offset, i32 %numIt ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-mul-propagates-poison-2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -873,7 +873,7 @@ define void @test-add-div(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-div ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -907,7 +907,7 @@ define void @test-add-div2(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-div2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -941,7 +941,7 @@ define void @test-add-store(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-store ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -983,7 +983,7 @@ define void @test-add-twice(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-twice ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1026,7 +1026,7 @@ define void @test-mul-nsw(float* %input, i32 %stride, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-mul-nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1063,7 +1063,7 @@ define void @test-mul-nuw(float* %input, i32 %stride, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-mul-nuw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1102,7 +1102,7 @@ define void @test-shl-nsw(float* %input, i32 %start, i32 %numIterations) { ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-shl-nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %start) + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %start) + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1141,7 +1141,7 @@ define void @test-shl-nuw-edgecase(float* %input, i32 %start, i32 %numIterations ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-shl-nuw-edgecase ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %start) + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %start) + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1180,7 +1180,7 @@ define void @test-shl-nuw-nsw(float* %input, i32 %start, i32 %numIterations) { ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-shl-nuw-nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %start) + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %start) + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1219,7 +1219,7 @@ define void @test-shl-no-nsw(float* %input, i32 %start, i32 %numIterations) { ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-shl-no-nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %start) + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %start) + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1258,7 +1258,7 @@ define void @test-shl-nsw-edgecase(float* %input, i32 %start, i32 %numIterations ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-shl-nsw-edgecase ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %start) + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %start) + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1295,7 +1295,7 @@ define void @test-shl-nuw(float* %input, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-shl-nuw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1335,7 +1335,7 @@ define void @test-sub-no-nsw(float* %input, i32 %start, i32 %sub, i32 %numIterat ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-sub-no-nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %start) + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %start) + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1376,7 +1376,7 @@ define void @test-sub-nsw(float* %input, i32 %start, i32 %sub, i32 %numIteration ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-sub-nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %start) + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %start) + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1416,7 +1416,7 @@ define void @test-sub-nsw-lhs-non-negative(float* %input, i32 %sub, i32 %numIter ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-sub-nsw-lhs-non-negative ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1460,7 +1460,7 @@ define void @test-sext-sub(float* %input, i32 %sub, i32 %numIterations) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for cont: (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -1510,7 +1510,7 @@ define void @test-sub-with-add(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %numIterations LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-sub-with-add ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1577,7 +1577,7 @@ define i32 @pr28932() { ; CHECK-NEXT: Loop %for.cond: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for if.then: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for if.else: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %for.cond: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.cond: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.cond: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll b/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll index daf12d0dc710c..f202c093fa5f9 100644 --- a/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll +++ b/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll @@ -60,18 +60,18 @@ define dso_local i32 @f() { ; CHECK-NEXT: Loop %for.cond6: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for for.cond6: 0 ; CHECK-NEXT: exit count for for.end: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %for.cond6: max backedge-taken count is 0 +; CHECK-NEXT: Loop %for.cond6: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %for.cond6: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %inner.loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for inner.loop: 0 ; CHECK-NEXT: exit count for for.end.3: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %inner.loop: max backedge-taken count is 0 +; CHECK-NEXT: Loop %inner.loop: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %inner.loop: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %outer.loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for for.cond6: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for inner.loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for for.inc13.3: 2 -; CHECK-NEXT: Loop %outer.loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %outer.loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %outer.loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll b/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll index f65c8f1565881..e1b1110251cb6 100644 --- a/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll +++ b/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll @@ -18,7 +18,7 @@ define void @f0(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,129) S: [1,129) Exits: 128 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f0 ; CHECK-NEXT: Loop %loop: backedge-taken count is 127 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 127 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 127 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 128 @@ -85,7 +85,7 @@ define void @f1(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,17) S: [1,17) Exits: 16 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f1 ; CHECK-NEXT: Loop %loop: backedge-taken count is 15 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 15 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 15 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 15 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 16 @@ -145,7 +145,7 @@ define void @f2(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,129) S: [1,129) Exits: 128 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f2 ; CHECK-NEXT: Loop %loop: backedge-taken count is 127 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 127 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 127 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 128 @@ -187,7 +187,7 @@ define void @f3(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,129) S: [1,129) Exits: 128 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f3 ; CHECK-NEXT: Loop %loop: backedge-taken count is 127 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 127 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 127 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 128 @@ -236,7 +236,7 @@ define void @f4(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,129) S: [1,129) Exits: 128 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f4 ; CHECK-NEXT: Loop %loop: backedge-taken count is 127 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 127 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 127 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 128 @@ -284,7 +284,7 @@ define void @f5(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,129) S: [1,129) Exits: 128 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f5 ; CHECK-NEXT: Loop %loop: backedge-taken count is 127 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 127 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 127 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 128 @@ -329,7 +329,7 @@ define void @f6(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,129) S: [1,129) Exits: 128 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f6 ; CHECK-NEXT: Loop %loop: backedge-taken count is 127 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 127 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 127 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 128 @@ -377,7 +377,7 @@ define void @f7(i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,129) S: [1,129) Exits: 128 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f7 ; CHECK-NEXT: Loop %loop: backedge-taken count is 127 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 127 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 127 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 128 diff --git a/llvm/test/Analysis/ScalarEvolution/invalidation.ll b/llvm/test/Analysis/ScalarEvolution/invalidation.ll index f750b3d4e5c5a..0aa0aa68842be 100644 --- a/llvm/test/Analysis/ScalarEvolution/invalidation.ll +++ b/llvm/test/Analysis/ScalarEvolution/invalidation.ll @@ -40,7 +40,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @test(i32 %n) { ; CHECK-LABEL: Classifying expressions for: @test ; CHECK: Loop %loop: backedge-taken count is 14 -; CHECK: Loop %loop: max backedge-taken count is 14 +; CHECK: Loop %loop: constant max backedge-taken count is 14 ; CHECK: Loop %loop: Predicated backedge-taken count is 14 entry: diff --git a/llvm/test/Analysis/ScalarEvolution/load-with-range-metadata.ll b/llvm/test/Analysis/ScalarEvolution/load-with-range-metadata.ll index 3b3df7efdef22..eb979f406551b 100644 --- a/llvm/test/Analysis/ScalarEvolution/load-with-range-metadata.ll +++ b/llvm/test/Analysis/ScalarEvolution/load-with-range-metadata.ll @@ -7,7 +7,7 @@ define i32 @slt_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) { br label %loop loop: -; CHECK: Loop %loop: max backedge-taken count is 98 +; CHECK: Loop %loop: constant max backedge-taken count is 98 %index = phi i32 [ 0, %entry ], [ %index.inc, %loop ] %index.inc = add i32 %index, 1 %continue = icmp slt i32 %index.inc, %limit @@ -24,7 +24,7 @@ define i32 @ult_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) { br label %loop loop: -; CHECK: Loop %loop: max backedge-taken count is 98 +; CHECK: Loop %loop: constant max backedge-taken count is 98 %index = phi i32 [ 0, %entry ], [ %index.inc, %loop ] %index.inc = add i32 %index, 1 %continue = icmp ult i32 %index.inc, %limit diff --git a/llvm/test/Analysis/ScalarEvolution/load.ll b/llvm/test/Analysis/ScalarEvolution/load.ll index e95a093b2a8b4..66a9f4c9156ad 100644 --- a/llvm/test/Analysis/ScalarEvolution/load.ll +++ b/llvm/test/Analysis/ScalarEvolution/load.ll @@ -31,7 +31,7 @@ define i32 @test1() nounwind readnone { ; CHECK-NEXT: --> {1,+,1}<%for.body> U: [1,51) S: [1,51) Exits: 50 LoopDispositions: { %for.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test1 ; CHECK-NEXT: Loop %for.body: backedge-taken count is 49 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 49 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 49 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 49 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 50 @@ -84,7 +84,7 @@ define i32 @test2() nounwind uwtable readonly { ; CHECK-NEXT: --> %1 U: full-set S: full-set Exits: null LoopDispositions: { %for.body: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test2 ; CHECK-NEXT: Loop %for.body: backedge-taken count is 4 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 4 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 5 diff --git a/llvm/test/Analysis/ScalarEvolution/logical-operations.ll b/llvm/test/Analysis/ScalarEvolution/logical-operations.ll index f607e89106eb1..ed3502c3ed64e 100644 --- a/llvm/test/Analysis/ScalarEvolution/logical-operations.ll +++ b/llvm/test/Analysis/ScalarEvolution/logical-operations.ll @@ -429,7 +429,7 @@ define i8* @tautological_select_like_phi(i32 %tc) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,102) S: [1,102) Exits: 101 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @tautological_select_like_phi ; CHECK-NEXT: Loop %loop: backedge-taken count is 100 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 100 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 100 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 100 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 101 diff --git a/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll b/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll index 3b8f4409a99bd..2611b3b6c4a16 100644 --- a/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll +++ b/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll @@ -17,7 +17,7 @@ define void @rewrite_zext(i32 %n) { ; CHECK-NEXT: --> {8,+,8}<%loop> U: [8,25) S: [8,25) Exits: (8 + (8 * ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @rewrite_zext ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -60,7 +60,7 @@ define i32 @rewrite_zext_min_max(i32 %N, i32* %arr) { ; CHECK-NEXT: --> {4,+,4}<%loop> U: [4,17) S: [4,17) Exits: (4 + (4 * ((-4 + (4 * ((zext i32 (16 umin %N) to i64) /u 4))) /u 4))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @rewrite_zext_min_max ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-4 + (4 * ((zext i32 (16 umin %N) to i64) /u 4))) /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-4 + (4 * ((zext i32 (16 umin %N) to i64) /u 4))) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -109,7 +109,7 @@ define i32 @rewrite_zext_with_info_from_icmp_ne(i32 %N) { ; CHECK-NEXT: --> {4,+,4}<%loop> U: [4,5) S: [4,5) Exits: 4 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @rewrite_zext_with_info_from_icmp_ne ; CHECK-NEXT: Loop %loop: backedge-taken count is 0 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 0 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -158,7 +158,7 @@ define i32 @rewrite_zext_no_icmp_ne(i32 %N) { ; CHECK-NEXT: --> {4,+,4}<%loop> U: [4,4294967297) S: [4,4294967297) Exits: (4 + (4 * ((-4 + (4 * ((4 + (zext i32 (-1 + (zext i2 (trunc i32 %N to i2) to i32)) to i64)) /u 4))) /u 4))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @rewrite_zext_no_icmp_ne ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-4 + (4 * ((4 + (zext i32 (-1 + (zext i2 (trunc i32 %N to i2) to i32)) to i64)) /u 4))) /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 1073741823 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 1073741823 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-4 + (4 * ((4 + (zext i32 (-1 + (zext i2 (trunc i32 %N to i2) to i32)) to i64)) /u 4))) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -199,7 +199,7 @@ define void @rewrite_zext_and_base_1(i32 %n) { ; CHECK-NEXT: --> {8,+,8}<%loop> U: [8,33) S: [8,33) Exits: (8 + (8 * ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @rewrite_zext_and_base_1 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -243,7 +243,7 @@ define void @rewrite_zext_and_base_2(i32 %n) { ; CHECK-NEXT: --> {8,+,8}<%loop> U: [8,33) S: [8,33) Exits: (8 + (8 * ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @rewrite_zext_and_base_2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-8 + (8 * ((zext i32 %n to i64) /u 8))) /u 8) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -285,7 +285,7 @@ define void @guard_pessimizes_analysis_step2(i1 %c, i32 %N) { ; CHECK-NEXT: --> {(2 + %init),+,2}<%loop> U: [4,19) S: [4,19) Exits: (2 + (2 * ((14 + (-1 * %init)) /u 2)) + %init) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @guard_pessimizes_analysis_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((14 + (-1 * %init)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 6 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 6 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((14 + (-1 * %init)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll b/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll index 7ee5a0a622b1c..93d63df5a0a21 100644 --- a/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll +++ b/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll @@ -1,7 +1,7 @@ ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py ; RUN: opt -passes='print' -disable-output %s 2>&1 | FileCheck %s -; Test case for PR40961. The loop guard limit the max backedge-taken count. +; Test case for PR40961. The loop guard limit the constant max backedge-taken count. define void @test_guard_less_than_16(i32* nocapture %a, i64 %i) { ; CHECK-LABEL: 'test_guard_less_than_16' @@ -14,7 +14,7 @@ define void @test_guard_less_than_16(i32* nocapture %a, i64 %i) { ; CHECK-NEXT: --> {(1 + %i),+,1}<%loop> U: full-set S: full-set Exits: 16 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_less_than_16 ; CHECK-NEXT: Loop %loop: backedge-taken count is (15 + (-1 * %i)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 15 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 15 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (15 + (-1 * %i)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -46,7 +46,7 @@ define void @test_guard_less_than_16_operands_swapped(i32* nocapture %a, i64 %i) ; CHECK-NEXT: --> {(1 + %i),+,1}<%loop> U: full-set S: full-set Exits: 16 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_less_than_16_operands_swapped ; CHECK-NEXT: Loop %loop: backedge-taken count is (15 + (-1 * %i)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 15 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 15 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (15 + (-1 * %i)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -78,7 +78,7 @@ define void @test_guard_less_than_16_branches_flipped(i32* nocapture %a, i64 %i) ; CHECK-NEXT: --> {(1 + %i),+,1}<%loop> U: full-set S: full-set Exits: 16 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_less_than_16_branches_flipped ; CHECK-NEXT: Loop %loop: backedge-taken count is (15 + (-1 * %i)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (15 + (-1 * %i)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -110,7 +110,7 @@ define void @test_guard_uge_16_branches_flipped(i32* nocapture %a, i64 %i) { ; CHECK-NEXT: --> {(1 + %i),+,1}<%loop> U: full-set S: full-set Exits: 16 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_uge_16_branches_flipped ; CHECK-NEXT: Loop %loop: backedge-taken count is (15 + (-1 * %i)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 15 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 15 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (15 + (-1 * %i)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -142,7 +142,7 @@ define void @test_guard_eq_12(i32* nocapture %a, i64 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,14) S: [1,14) Exits: (1 + %N) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_eq_12 ; CHECK-NEXT: Loop %loop: backedge-taken count is %N -; CHECK-NEXT: Loop %loop: max backedge-taken count is 12 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 12 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %N ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -174,7 +174,7 @@ define void @test_guard_ule_12(i32* nocapture %a, i64 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,14) S: [1,14) Exits: (1 + %N) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_ule_12 ; CHECK-NEXT: Loop %loop: backedge-taken count is %N -; CHECK-NEXT: Loop %loop: max backedge-taken count is 12 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 12 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %N ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -206,7 +206,7 @@ define void @test_guard_ule_12_step2(i32* nocapture %a, i64 %N) { ; CHECK-NEXT: --> {2,+,2}<%loop> U: [2,15) S: [2,15) Exits: (2 + (2 * (%N /u 2))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_ule_12_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%N /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 6 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 6 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%N /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -238,7 +238,7 @@ define void @test_multiple_const_guards_order1(i32* nocapture %a, i64 %i) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,11) S: [1,11) Exits: (1 + %i) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_multiple_const_guards_order1 ; CHECK-NEXT: Loop %loop: backedge-taken count is %i -; CHECK-NEXT: Loop %loop: max backedge-taken count is 9 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 9 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %i ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -274,7 +274,7 @@ define void @test_multiple_const_guards_order2(i32* nocapture %a, i64 %i) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,11) S: [1,11) Exits: (1 + %i) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_multiple_const_guards_order2 ; CHECK-NEXT: Loop %loop: backedge-taken count is %i -; CHECK-NEXT: Loop %loop: max backedge-taken count is 9 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 9 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %i ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -299,7 +299,7 @@ exit: ret void } -; TODO: Currently we miss getting the tightest max backedge-taken count (11). +; TODO: Currently we miss getting the tightest constant max backedge-taken count (11). define void @test_multiple_var_guards_order1(i32* nocapture %a, i64 %i, i64 %N) { ; CHECK-LABEL: 'test_multiple_var_guards_order1' ; CHECK-NEXT: Classifying expressions for: @test_multiple_var_guards_order1 @@ -311,7 +311,7 @@ define void @test_multiple_var_guards_order1(i32* nocapture %a, i64 %i, i64 %N) ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: (1 + %i) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_multiple_var_guards_order1 ; CHECK-NEXT: Loop %loop: backedge-taken count is %i -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %i ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -336,7 +336,7 @@ exit: ret void } -; TODO: Currently we miss getting the tightest max backedge-taken count (11). +; TODO: Currently we miss getting the tightest constant max backedge-taken count (11). define void @test_multiple_var_guards_order2(i32* nocapture %a, i64 %i, i64 %N) { ; CHECK-LABEL: 'test_multiple_var_guards_order2' ; CHECK-NEXT: Classifying expressions for: @test_multiple_var_guards_order2 @@ -348,7 +348,7 @@ define void @test_multiple_var_guards_order2(i32* nocapture %a, i64 %i, i64 %N) ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: (1 + %i) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_multiple_var_guards_order2 ; CHECK-NEXT: Loop %loop: backedge-taken count is %i -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %i ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -385,7 +385,7 @@ define void @test_multiple_var_guards_cycle(i32* nocapture %a, i64 %i, i64 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: (1 + %N) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_multiple_var_guards_cycle ; CHECK-NEXT: Loop %loop: backedge-taken count is %N -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %N ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -421,7 +421,7 @@ define void @test_guard_ult_ne(i32* nocapture readonly %data, i64 %count) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_ult_ne ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -457,7 +457,7 @@ define void @test_guard_ne_ult(i32* nocapture readonly %data, i64 %count) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_ne_ult ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -495,7 +495,7 @@ define void @test_guard_if_and_enter(i32* nocapture readonly %data, i64 %count) ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_and_enter ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -531,7 +531,7 @@ define void @test_guard_if_and_skip(i32* nocapture readonly %data, i64 %count) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_and_skip ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -569,7 +569,7 @@ define void @test_guard_if_and_and(i32* nocapture readonly %data, i64 %count, i1 ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_and_and ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -608,7 +608,7 @@ define void @test_guard_if_and_or(i32* nocapture readonly %data, i64 %count, i1 ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_and_or ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -645,7 +645,7 @@ define void @test_guard_if_or_skip(i32* nocapture readonly %data, i64 %count) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_or_skip ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -681,7 +681,7 @@ define void @test_guard_if_or_enter(i32* nocapture readonly %data, i64 %count) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_or_enter ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -719,7 +719,7 @@ define void @test_guard_if_or_or(i32* nocapture readonly %data, i64 %count, i1 % ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_or_or ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -758,7 +758,7 @@ define void @test_guard_if_or_and(i32* nocapture readonly %data, i64 %count, i1 ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_if_or_and ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -783,7 +783,7 @@ exit: } ; Test case for PR47247. Both the guard condition and the assume limit the -; max backedge-taken count. +; constant max backedge-taken count. define void @test_guard_and_assume(i32* nocapture readonly %data, i64 %count) { ; CHECK-LABEL: 'test_guard_and_assume' @@ -796,7 +796,7 @@ define void @test_guard_and_assume(i32* nocapture readonly %data, i64 %count) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_and_assume ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -832,7 +832,7 @@ define void @test_guard_assume_and(i32* nocapture readonly %data, i64 %count) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,5) S: [1,5) Exits: %count LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_assume_and ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %count) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %count) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -870,7 +870,7 @@ define void @guard_pessimizes_analysis_step1(i1 %c, i32 %N) { ; CHECK-NEXT: --> {(1 + %init),+,1}<%loop> U: [3,12) S: [3,12) Exits: 10 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @guard_pessimizes_analysis_step1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (9 + (-1 * %init)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 7 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 7 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (9 + (-1 * %init)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -910,7 +910,7 @@ define void @guard_pessimizes_analysis_step2(i1 %c, i32 %N) { ; CHECK-NEXT: --> {(2 + %init),+,2}<%loop> U: [4,12) S: [4,12) Exits: (2 + (2 * ((8 + (-1 * %init)) /u 2)) + %init) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @guard_pessimizes_analysis_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((8 + (-1 * %init)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 3 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 3 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((8 + (-1 * %init)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -951,15 +951,15 @@ define void @crash(i8* %ptr) { ; CHECK-NEXT: --> {(1 + %ptr),+,1}<%while.body125> U: full-set S: full-set Exits: {(-1 + (-1 * (ptrtoint i8* %ptr to i64)) + %ptr),+,-1}<%while.cond111> LoopDispositions: { %while.body125: Computable } ; CHECK-NEXT: Determining loop execution counts for: @crash ; CHECK-NEXT: Loop %while.body125: backedge-taken count is {(-2 + (-1 * (ptrtoint i8* %ptr to i64))),+,-1}<%while.cond111> -; CHECK-NEXT: Loop %while.body125: max backedge-taken count is -2 +; CHECK-NEXT: Loop %while.body125: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %while.body125: Predicated backedge-taken count is {(-2 + (-1 * (ptrtoint i8* %ptr to i64))),+,-1}<%while.cond111> ; CHECK-NEXT: Predicates: ; CHECK: Loop %while.body125: Trip multiple is 1 ; CHECK-NEXT: Loop %while.cond111: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %while.cond111: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %while.cond111: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %while.cond111: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %while.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %while.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %while.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %while.body: Unpredictable predicated backedge-taken count. ; entry: @@ -1002,7 +1002,7 @@ define void @test_guard_uge(i32 %blockSize) { ; CHECK-NEXT: --> {(-1 + (%blockSize /u 4)),+,-1}<%while.body> U: [-1073741823,1073741823) S: [-1073741823,1073741823) Exits: 0 LoopDispositions: { %while.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_uge ; CHECK-NEXT: Loop %while.body: backedge-taken count is (-1 + (%blockSize /u 4)) -; CHECK-NEXT: Loop %while.body: max backedge-taken count is 1073741822 +; CHECK-NEXT: Loop %while.body: constant max backedge-taken count is 1073741822 ; CHECK-NEXT: Loop %while.body: Predicated backedge-taken count is (-1 + (%blockSize /u 4)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %while.body: Trip multiple is 1 @@ -1038,7 +1038,7 @@ define void @test_guard_ugt(i32 %blockSize) { ; CHECK-NEXT: --> {(-1 + (%blockSize /u 4)),+,-1}<%while.body> U: [-1073741823,1073741823) S: [-1073741823,1073741823) Exits: 0 LoopDispositions: { %while.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_ugt ; CHECK-NEXT: Loop %while.body: backedge-taken count is (-1 + (%blockSize /u 4)) -; CHECK-NEXT: Loop %while.body: max backedge-taken count is 1073741822 +; CHECK-NEXT: Loop %while.body: constant max backedge-taken count is 1073741822 ; CHECK-NEXT: Loop %while.body: Predicated backedge-taken count is (-1 + (%blockSize /u 4)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %while.body: Trip multiple is 1 @@ -1074,7 +1074,7 @@ define void @test_guard_uge_and_ule(i32 %blockSize) { ; CHECK-NEXT: --> {(-1 + (%blockSize /u 4)),+,-1}<%while.body> U: [-256,1073741823) S: [-256,1073741823) Exits: 0 LoopDispositions: { %while.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_uge_and_ule ; CHECK-NEXT: Loop %while.body: backedge-taken count is (-1 + (%blockSize /u 4)) -; CHECK-NEXT: Loop %while.body: max backedge-taken count is 255 +; CHECK-NEXT: Loop %while.body: constant max backedge-taken count is 255 ; CHECK-NEXT: Loop %while.body: Predicated backedge-taken count is (-1 + (%blockSize /u 4)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %while.body: Trip multiple is 1 @@ -1114,7 +1114,7 @@ define void @test_guard_ugt_and_ult(i32 %blockSize) { ; CHECK-NEXT: --> {(-1 + (%blockSize /u 4)),+,-1}<%while.body> U: [-256,1073741823) S: [-256,1073741823) Exits: 0 LoopDispositions: { %while.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_ugt_and_ult ; CHECK-NEXT: Loop %while.body: backedge-taken count is (-1 + (%blockSize /u 4)) -; CHECK-NEXT: Loop %while.body: max backedge-taken count is 255 +; CHECK-NEXT: Loop %while.body: constant max backedge-taken count is 255 ; CHECK-NEXT: Loop %while.body: Predicated backedge-taken count is (-1 + (%blockSize /u 4)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %while.body: Trip multiple is 1 @@ -1156,7 +1156,7 @@ define void @test_guard_slt_sgt_1(i32* nocapture %a, i64 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,12) S: [1,12) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_slt_sgt_1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 10 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 10 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1192,7 +1192,7 @@ define void @test_guard_slt_sgt_2(i32* nocapture %a, i64 %i) { ; CHECK-NEXT: --> {(1 + %i),+,1}<%loop> U: full-set S: full-set Exits: 18 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_slt_sgt_2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (17 + (-1 * %i)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 12 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 12 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (17 + (-1 * %i)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1228,7 +1228,7 @@ define void @test_guard_sle_sge_1(i32* nocapture %a, i64 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,13) S: [1,13) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_sle_sge_1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 11 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 11 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1264,7 +1264,7 @@ define void @test_guard_sle_sge_2(i32* nocapture %a, i64 %i) { ; CHECK-NEXT: --> {(1 + %i),+,1}<%loop> U: full-set S: full-set Exits: 18 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_guard_sle_sge_2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (17 + (-1 * %i)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 13 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 13 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (17 + (-1 * %i)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1303,7 +1303,7 @@ define void @optimized_range_check_unsigned(i16* %pred, i32 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,8) S: [1,8) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @optimized_range_check_unsigned ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 6 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 6 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1339,7 +1339,7 @@ define void @optimized_range_check_unsigned_icmp_ops_swapped(i16* %pred, i32 %N) ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,8) S: [1,8) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @optimized_range_check_unsigned_icmp_ops_swapped ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 6 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 6 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1377,7 +1377,7 @@ define void @optimized_range_check_unsigned2(i16* %pred, i32 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,22) S: [1,22) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @optimized_range_check_unsigned2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 20 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 20 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1416,7 +1416,7 @@ define void @optimized_range_check_unsigned3(i16* %pred, i1 %c) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,4) S: [1,4) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @optimized_range_check_unsigned3 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1454,7 +1454,7 @@ define void @not_optimized_range_check_unsigned1(i16* %pred, i32 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @not_optimized_range_check_unsigned1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1491,7 +1491,7 @@ define void @not_optimized_range_check_unsigned2(i16* %pred, i32 %N) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,-2147483648) S: [1,-2147483648) Exits: %N LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @not_optimized_range_check_unsigned2 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1522,7 +1522,7 @@ define i32 @sle_sgt_ult_umax_to_smax(i32 %num) { ; CHECK-NEXT: --> {4,+,4}<%loop> U: [4,29) S: [4,29) Exits: (4 + (4 * ((-4 + %num) /u 4))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @sle_sgt_ult_umax_to_smax ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-4 + %num) /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 6 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 6 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-4 + %num) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -1559,7 +1559,7 @@ define i32 @ult_sle_sgt_umax_to_smax(i32 %num) { ; CHECK-NEXT: --> {4,+,4}<%loop> U: [4,-3) S: [-2147483648,2147483645) Exits: (4 + (4 * ((-4 + %num) /u 4))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @ult_sle_sgt_umax_to_smax ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-4 + %num) /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 1073741823 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 1073741823 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-4 + %num) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-limit-by-wrapping.ll b/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-limit-by-wrapping.ll index 0a6780038d7b7..e90d1503c1840 100644 --- a/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-limit-by-wrapping.ll +++ b/llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-limit-by-wrapping.ll @@ -6,7 +6,7 @@ target triple = "x86_64-unknown-linux-gnu" define void @max_backedge_taken_count_by_wrapping1_nsw_nuw(i8 %N, i8* %ptr) { ; CHECK-LABEL: Determining loop execution counts for: @max_backedge_taken_count_by_wrapping1_nsw_nuw ; CHECK-NEXT: Loop %loop: backedge-taken count is (%N /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 63 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 63 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%N /u 4) ; entry: @@ -27,7 +27,7 @@ exit: define void @max_backedge_taken_count_by_wrapping1_nuw(i8 %N, i8* %ptr) { ; CHECK-LABEL: Determining loop execution counts for: @max_backedge_taken_count_by_wrapping1_nuw ; CHECK-NEXT: Loop %loop: backedge-taken count is (%N /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 63 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 63 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%N /u 4) ; entry: @@ -48,7 +48,7 @@ exit: define void @max_backedge_taken_count_by_wrapping2_nsw_nuw(i8 %N, i8* %ptr) { ; CHECK-LABEL: Determining loop execution counts for: @max_backedge_taken_count_by_wrapping2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-64 + %N) /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 63 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 63 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-64 + %N) /u 4) ; entry: @@ -69,7 +69,7 @@ exit: define void @max_backedge_taken_count_by_wrapping2_nuw(i8 %N, i8* %ptr) { ; CHECK-LABEL: Determining loop execution counts for: @max_backedge_taken_count_by_wrapping2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-64 + %N) /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 63 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 63 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-64 + %N) /u 4) ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll b/llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll index 008359e4b6a11..81d9e8ad38399 100644 --- a/llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll +++ b/llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll @@ -21,7 +21,7 @@ define void @pluto(i32 %arg) { ; CHECK-NEXT: --> {(2 + %tmp),+,(2 + %tmp)}<%bb2> U: [1,5) S: [1,5) Exits: (2 + ((2 + %tmp) * (1 /u (2 + %tmp))) + %tmp) LoopDispositions: { %bb2: Computable } ; CHECK-NEXT: Determining loop execution counts for: @pluto ; CHECK-NEXT: Loop %bb2: backedge-taken count is (1 /u (2 + %tmp)) -; CHECK-NEXT: Loop %bb2: max backedge-taken count is 1 +; CHECK-NEXT: Loop %bb2: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %bb2: Predicated backedge-taken count is (1 /u (2 + %tmp)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb2: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/max-trip-count-address-space.ll b/llvm/test/Analysis/ScalarEvolution/max-trip-count-address-space.ll index 6ec08a9a6ed01..50d5f4d2c726f 100644 --- a/llvm/test/Analysis/ScalarEvolution/max-trip-count-address-space.ll +++ b/llvm/test/Analysis/ScalarEvolution/max-trip-count-address-space.ll @@ -65,4 +65,4 @@ for.end: ; preds = %for.cond.for.end_cr ; CHECK: Determining loop execution counts for: @test ; CHECK-NEXT: backedge-taken count is -; CHECK-NEXT: max backedge-taken count is 2147483646 +; CHECK-NEXT: constant max backedge-taken count is 2147483646 diff --git a/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll b/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll index f8585ce570186..e785799950d2d 100644 --- a/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll +++ b/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll @@ -40,7 +40,7 @@ return: ; preds = %bb1.return_crit_edge, %entry ; PR7845 ; CHECK: Loop %for.cond: Unpredictable backedge-taken count. -; CHECK: Loop %for.cond: max backedge-taken count is 5 +; CHECK: Loop %for.cond: constant max backedge-taken count is 5 @.str = private constant [4 x i8] c"%d\0A\00" ; <[4 x i8]*> [#uses=2] @@ -97,12 +97,12 @@ for.end: ; preds = %for.cond.for.end_cr ; CHECK: Determining loop execution counts for: @test ; CHECK-NEXT: backedge-taken count is -; CHECK-NEXT: max backedge-taken count is 2147483646 +; CHECK-NEXT: constant max backedge-taken count is 2147483646 ; PR19799: Indvars miscompile due to an incorrect max backedge taken count from SCEV. ; CHECK-LABEL: @pr19799 ; CHECK: Loop %for.body.i: Unpredictable backedge-taken count. -; CHECK: Loop %for.body.i: max backedge-taken count is 1 +; CHECK: Loop %for.body.i: constant max backedge-taken count is 1 @a = common global i32 0, align 4 define i32 @pr19799() { @@ -128,7 +128,7 @@ bar.exit: ; preds = %for.cond.i, %for.bo ; PR18886: Indvars miscompile due to an incorrect max backedge taken count from SCEV. ; CHECK-LABEL: @pr18886 ; CHECK: Loop %for.body: Unpredictable backedge-taken count. -; CHECK: Loop %for.body: max backedge-taken count is 3 +; CHECK: Loop %for.body: constant max backedge-taken count is 3 @aa = global i64 0, align 8 define i32 @pr18886() { @@ -158,7 +158,7 @@ return: ; ; CHECK-LABEL: @cannot_compute_mustexit ; CHECK: Loop %for.body.i: Unpredictable backedge-taken count. -; CHECK: Loop %for.body.i: Unpredictable max backedge-taken count. +; CHECK: Loop %for.body.i: Unpredictable constant max backedge-taken count. @b = common global i32 0, align 4 define i32 @cannot_compute_mustexit() { @@ -187,7 +187,7 @@ bar.exit: ; preds = %for.cond.i, %for.bo ; ; CHECK-LABEL: @two_mustexit ; CHECK: Loop %for.body.i: backedge-taken count is 1 -; CHECK: Loop %for.body.i: max backedge-taken count is 1 +; CHECK: Loop %for.body.i: constant max backedge-taken count is 1 define i32 @two_mustexit() { entry: store i32 -1, i32* @a, align 4 @@ -209,7 +209,7 @@ bar.exit: ; preds = %for.cond.i, %for.bo } ; CHECK-LABEL: @ne_max_trip_count_1 -; CHECK: Loop %for.body: max backedge-taken count is 7 +; CHECK: Loop %for.body: constant max backedge-taken count is 7 define i32 @ne_max_trip_count_1(i32 %n) { entry: %masked = and i32 %n, 7 @@ -226,7 +226,7 @@ bar.exit: } ; CHECK-LABEL: @ne_max_trip_count_2 -; CHECK: Loop %for.body: max backedge-taken count is -1 +; CHECK: Loop %for.body: constant max backedge-taken count is -1 define i32 @ne_max_trip_count_2(i32 %n) { entry: %masked = and i32 %n, 7 @@ -243,7 +243,7 @@ bar.exit: } ; CHECK-LABEL: @ne_max_trip_count_3 -; CHECK: Loop %for.body: max backedge-taken count is 6 +; CHECK: Loop %for.body: constant max backedge-taken count is 6 define i32 @ne_max_trip_count_3(i32 %n) { entry: %masked = and i32 %n, 7 @@ -267,7 +267,7 @@ exit: } ; CHECK-LABEL: @ne_max_trip_count_4 -; CHECK: Loop %for.body: max backedge-taken count is -2 +; CHECK: Loop %for.body: constant max backedge-taken count is -2 define i32 @ne_max_trip_count_4(i32 %n) { entry: %guard = icmp eq i32 %n, 0 @@ -294,7 +294,7 @@ exit: define void @changing_end_bound(i32* %n_addr, i32* %addr) { ; CHECK-LABEL: Determining loop execution counts for: @changing_end_bound ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: max backedge-taken count is 2147483646 +; CHECK: Loop %loop: constant max backedge-taken count is 2147483646 entry: br label %loop @@ -319,7 +319,7 @@ loop.exit: define void @changing_end_bound2(i32 %start, i32* %n_addr, i32* %addr) { ; CHECK-LABEL: Determining loop execution counts for: @changing_end_bound2 ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: max backedge-taken count is -1 +; CHECK: Loop %loop: constant max backedge-taken count is -1 entry: br label %loop @@ -342,7 +342,7 @@ loop.exit: define void @changing_end_bound3(i32 %start, i32* %n_addr, i32* %addr) { ; CHECK-LABEL: Determining loop execution counts for: @changing_end_bound3 ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: max backedge-taken count is 1073741823 +; CHECK: Loop %loop: constant max backedge-taken count is 1073741823 entry: br label %loop @@ -366,7 +366,7 @@ loop.exit: define void @changing_end_bound4(i32 %start, i32* %n_addr, i32* %addr) { ; CHECK-LABEL: Determining loop execution counts for: @changing_end_bound4 ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. entry: br label %loop @@ -390,7 +390,7 @@ loop.exit: define void @changing_end_bound5(i32 %stride, i32 %start, i32* %n_addr, i32* %addr) { ; CHECK-LABEL: Determining loop execution counts for: @changing_end_bound5 ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. entry: br label %loop @@ -413,7 +413,7 @@ loop.exit: define void @changing_end_bound6(i32 %start, i32* %n_addr, i32* %addr) { ; CHECK-LABEL: Determining loop execution counts for: @changing_end_bound6 ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. entry: br label %loop @@ -436,7 +436,7 @@ loop.exit: define void @changing_end_bound7(i32 %start, i32* %n_addr, i32* %addr) { ; CHECK-LABEL: Determining loop execution counts for: @changing_end_bound7 ; CHECK: Loop %loop: Unpredictable backedge-taken count. -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. entry: br label %loop @@ -458,7 +458,7 @@ loop.exit: define void @max_overflow_se(i8 %n) mustprogress { ; CHECK-LABEL: Determining loop execution counts for: @max_overflow_se ; CHECK: Loop %loop: backedge-taken count is 0 -; CHECK: Loop %loop: max backedge-taken count is 0 +; CHECK: Loop %loop: constant max backedge-taken count is 0 entry: br label %loop @@ -479,7 +479,7 @@ define void @max_overflow_me(i8 %n) mustprogress { ; CHECK: Loop %loop: Unpredictable backedge-taken count. ; CHECK: exit count for loop: 1 ; CHECK: exit count for latch: ***COULDNOTCOMPUTE*** -; CHECK: Loop %loop: max backedge-taken count is 1 +; CHECK: Loop %loop: constant max backedge-taken count is 1 entry: br label %loop @@ -503,7 +503,7 @@ exit: define void @bool_stride(i1 %s, i1 %n) mustprogress { ; CHECK-LABEL: Determining loop execution counts for: @bool_stride ; CHECK: Loop %loop: backedge-taken count is false -; CHECK: Loop %loop: max backedge-taken count is false +; CHECK: Loop %loop: constant max backedge-taken count is false entry: br label %loop @@ -523,7 +523,7 @@ exit: define void @ne_zero_max_btc(i32 %a) { ; CHECK-LABEL: Determining loop execution counts for: @ne_zero_max_btc ; CHECK: Loop %for.body: backedge-taken count is 0 -; CHECK: Loop %for.body: max backedge-taken count is 0 +; CHECK: Loop %for.body: constant max backedge-taken count is 0 entry: %cmp = icmp slt i32 %a, 1 %spec.select = select i1 %cmp, i32 %a, i32 1 diff --git a/llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll b/llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll index 208f369ac4a90..946208a36a8f5 100644 --- a/llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll +++ b/llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll @@ -47,7 +47,7 @@ define void @f(i32* %A, i32 %N) { ; CHECK-NEXT: --> {1,+,1}<%bb1> U: [1,-2147483647) S: [1,-2147483647) Exits: (1 + (0 smax %N)) LoopDispositions: { %bb1: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f ; CHECK-NEXT: Loop %bb1: backedge-taken count is (0 smax %N) -; CHECK-NEXT: Loop %bb1: max backedge-taken count is 2147483647 +; CHECK-NEXT: Loop %bb1: constant max backedge-taken count is 2147483647 ; CHECK-NEXT: Loop %bb1: Predicated backedge-taken count is (0 smax %N) ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb1: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll b/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll index c346dd11679c0..0a621be31b3c3 100644 --- a/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll +++ b/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll @@ -11,7 +11,7 @@ define void @test(i32 %N) mustprogress { ; CHECK-LABEL: 'test' ; CHECK-NEXT: Determining loop execution counts for: @test ; CHECK-NEXT: Loop %for.body: backedge-taken count is ((-2 + %N) /u 2) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483647 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483647 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((-2 + %N) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -33,7 +33,7 @@ define void @test_preinc(i32 %N) mustprogress { ; CHECK-LABEL: 'test_preinc' ; CHECK-NEXT: Determining loop execution counts for: @test_preinc ; CHECK-NEXT: Loop %for.body: backedge-taken count is (%N /u 2) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483647 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483647 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (%N /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -58,7 +58,7 @@ define void @test_well_defined_infinite_st(i32 %N) mustprogress { ; CHECK-LABEL: 'test_well_defined_infinite_st' ; CHECK-NEXT: Determining loop execution counts for: @test_well_defined_infinite_st ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -79,7 +79,7 @@ define void @test_well_defined_infinite_ld(i32 %N) mustprogress { ; CHECK-LABEL: 'test_well_defined_infinite_ld' ; CHECK-NEXT: Determining loop execution counts for: @test_well_defined_infinite_ld ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -100,7 +100,7 @@ define void @test_no_mustprogress(i32 %N) { ; CHECK-LABEL: 'test_no_mustprogress' ; CHECK-NEXT: Determining loop execution counts for: @test_no_mustprogress ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -122,7 +122,7 @@ define void @test_1024(i32 %N) mustprogress { ; CHECK-LABEL: 'test_1024' ; CHECK-NEXT: Determining loop execution counts for: @test_1024 ; CHECK-NEXT: Loop %for.body: backedge-taken count is ((-1024 + %N) /u 1024) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 4194303 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 4194303 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((-1024 + %N) /u 1024) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -144,7 +144,7 @@ define void @test_uneven_divide(i32 %N) mustprogress { ; CHECK-LABEL: 'test_uneven_divide' ; CHECK-NEXT: Determining loop execution counts for: @test_uneven_divide ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + (-1431655765 * %N)) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (-1431655765 * %N)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -166,7 +166,7 @@ define void @test_non_invariant_rhs() mustprogress { ; CHECK-LABEL: 'test_non_invariant_rhs' ; CHECK-NEXT: Determining loop execution counts for: @test_non_invariant_rhs ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -189,7 +189,7 @@ define void @test_abnormal_exit(i32 %N) mustprogress { ; CHECK-LABEL: 'test_abnormal_exit' ; CHECK-NEXT: Determining loop execution counts for: @test_abnormal_exit ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -213,7 +213,7 @@ define void @test_other_exit(i32 %N) mustprogress { ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for for.body: 9 ; CHECK-NEXT: exit count for for.latch: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 9 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 9 ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -237,7 +237,7 @@ define void @test_zext(i64 %N) mustprogress { ; CHECK-LABEL: 'test_zext' ; CHECK-NEXT: Determining loop execution counts for: @test_zext ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (%N /u 2) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {0,+,2}<%for.body> Added Flags: @@ -260,7 +260,7 @@ define void @test_sext(i64 %N) mustprogress { ; CHECK-LABEL: 'test_sext' ; CHECK-NEXT: Determining loop execution counts for: @test_sext ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -281,7 +281,7 @@ define void @test_zext_of_sext(i64 %N) mustprogress { ; CHECK-LABEL: 'test_zext_of_sext' ; CHECK-NEXT: Determining loop execution counts for: @test_zext_of_sext ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -303,7 +303,7 @@ define void @test_zext_offset(i64 %N) mustprogress { ; CHECK-LABEL: 'test_zext_offset' ; CHECK-NEXT: Determining loop execution counts for: @test_zext_offset ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -325,7 +325,7 @@ define void @test_sext_offset(i64 %N) mustprogress { ; CHECK-LABEL: 'test_sext_offset' ; CHECK-NEXT: Determining loop execution counts for: @test_sext_offset ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll b/llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll index 23e735f430006..0234609886f2b 100644 --- a/llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll +++ b/llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll @@ -304,7 +304,7 @@ define i1 @test2_a(i32 %a, i32 %b, i1 %will_overflow) { ; CHECK-NEXT: --> (%a + %b) U: full-set S: full-set ; CHECK-NEXT: Determining loop execution counts for: @test2_a ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -340,7 +340,7 @@ define i1 @test2_b(i32 %a, i32 %b, i1 %will_overflow) { ; CHECK-NEXT: --> (%a /u {(%a + %b),+,%b}<%loop>) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test2_b ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll b/llvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll index 3dc21e88ead29..8f1f633a64cc5 100644 --- a/llvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll +++ b/llvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll @@ -26,7 +26,7 @@ define i32 @test_01(i32 %start, i32* %p, i32* %q) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: (zext i32 %start to i64) ; CHECK-NEXT: exit count for backedge: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4294967295 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4294967295 ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -71,7 +71,7 @@ define i32 @test_02(i32 %start, i32* %p, i32* %q) { ; CHECK-NEXT: --> {(-1 + (2147483648 * (zext i32 %start to i64))),+,-1}<%loop> U: full-set S: full-set Exits: -9223372036854775807 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test_02 ; CHECK-NEXT: Loop %loop: backedge-taken count is (9223372036854775806 + (2147483648 * (zext i32 %start to i64))) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -2147483650 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -2147483650 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (9223372036854775806 + (2147483648 * (zext i32 %start to i64))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -102,7 +102,7 @@ define void @pointer_iv_nowrap(i8* %startptr, i8* %endptr) local_unnamed_addr { ; CHECK-NEXT: --> {(2001 + %startptr),+,1}<%loop> U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @pointer_iv_nowrap ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -130,7 +130,7 @@ define void @pointer_iv_nowrap_guard(i32* %startptr, i32* %endptr) local_unnamed ; CHECK-NEXT: --> {(8004 + %startptr),+,4}<%loop> U: full-set S: full-set Exits: (8004 + (4 * ((-8001 + (-1 * (ptrtoint i32* %startptr to i64)) + ((8004 + (ptrtoint i32* %startptr to i64)) umax (ptrtoint i32* %endptr to i64))) /u 4)) + %startptr) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @pointer_iv_nowrap_guard ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-8001 + (-1 * (ptrtoint i32* %startptr to i64)) + ((8004 + (ptrtoint i32* %startptr to i64)) umax (ptrtoint i32* %endptr to i64))) /u 4) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4611686018427387903 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4611686018427387903 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-8001 + (-1 * (ptrtoint i32* %startptr to i64)) + ((8004 + (ptrtoint i32* %startptr to i64)) umax (ptrtoint i32* %endptr to i64))) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll b/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll index 7493892530188..c17d91292268b 100644 --- a/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll +++ b/llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll @@ -45,7 +45,7 @@ define void @foo(i32 %no, double* nocapture %d, double* nocapture %q) nounwind { ; CHECK-NEXT: --> {2,+,2}<%bb> U: [2,2147483647) S: [2,2147483647) Exits: (2 + (2 * ((-1 + (2 * (%no /u 2))) /u 2))) LoopDispositions: { %bb: Computable } ; CHECK-NEXT: Determining loop execution counts for: @foo ; CHECK-NEXT: Loop %bb: backedge-taken count is ((-1 + (2 * (%no /u 2))) /u 2) -; CHECK-NEXT: Loop %bb: max backedge-taken count is 1073741822 +; CHECK-NEXT: Loop %bb: constant max backedge-taken count is 1073741822 ; CHECK-NEXT: Loop %bb: Predicated backedge-taken count is ((-1 + (2 * (%no /u 2))) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll b/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll index 71dd2635fc218..48efd9668b3d4 100644 --- a/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll +++ b/llvm/test/Analysis/ScalarEvolution/nsw-offset.ll @@ -42,7 +42,7 @@ define void @foo(i32 %no, double* nocapture %d, double* nocapture %q) nounwind { ; CHECK-NEXT: --> {2,+,2}<%bb> U: [2,2147483647) S: [2,2147483647) Exits: (2 + (2 * ((-1 + (2 * (%no /u 2))) /u 2))) LoopDispositions: { %bb: Computable } ; CHECK-NEXT: Determining loop execution counts for: @foo ; CHECK-NEXT: Loop %bb: backedge-taken count is ((-1 + (2 * (%no /u 2))) /u 2) -; CHECK-NEXT: Loop %bb: max backedge-taken count is 1073741822 +; CHECK-NEXT: Loop %bb: constant max backedge-taken count is 1073741822 ; CHECK-NEXT: Loop %bb: Predicated backedge-taken count is ((-1 + (2 * (%no /u 2))) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/nsw.ll b/llvm/test/Analysis/ScalarEvolution/nsw.ll index fec36cfc6d212..f5f9249de6b90 100644 --- a/llvm/test/Analysis/ScalarEvolution/nsw.ll +++ b/llvm/test/Analysis/ScalarEvolution/nsw.ll @@ -28,7 +28,7 @@ define void @test1(double* %p) nounwind { ; CHECK-NEXT: --> {(8 + %p),+,8}<%bb> U: full-set S: full-set Exits: <> LoopDispositions: { %bb: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test1 ; CHECK-NEXT: Loop %bb: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %bb: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %bb: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %bb: Unpredictable predicated backedge-taken count. ; entry: @@ -76,7 +76,7 @@ define void @test2(i32* %begin, i32* %end) ssp { ; CHECK-NEXT: --> {(4 + %begin),+,4}<%for.body.i.i> U: full-set S: full-set Exits: (4 + (4 * ((-4 + (-1 * (ptrtoint i32* %begin to i64)) + (ptrtoint i32* %end to i64)) /u 4)) + %begin) LoopDispositions: { %for.body.i.i: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test2 ; CHECK-NEXT: Loop %for.body.i.i: backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %begin to i64)) + (ptrtoint i32* %end to i64)) /u 4) -; CHECK-NEXT: Loop %for.body.i.i: max backedge-taken count is 4611686018427387903 +; CHECK-NEXT: Loop %for.body.i.i: constant max backedge-taken count is 4611686018427387903 ; CHECK-NEXT: Loop %for.body.i.i: Predicated backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %begin to i64)) + (ptrtoint i32* %end to i64)) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body.i.i: Trip multiple is 1 @@ -116,7 +116,7 @@ define void @test3(i32* %begin, i32* %end) nounwind ssp { ; CHECK-NEXT: --> {%begin,+,4}<%for.body.i.i> U: full-set S: full-set Exits: ((4 * ((-4 + (-1 * (ptrtoint i32* %begin to i64)) + (ptrtoint i32* %end to i64)) /u 4)) + %begin) LoopDispositions: { %for.body.i.i: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test3 ; CHECK-NEXT: Loop %for.body.i.i: backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %begin to i64)) + (ptrtoint i32* %end to i64)) /u 4) -; CHECK-NEXT: Loop %for.body.i.i: max backedge-taken count is 4611686018427387903 +; CHECK-NEXT: Loop %for.body.i.i: constant max backedge-taken count is 4611686018427387903 ; CHECK-NEXT: Loop %for.body.i.i: Predicated backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %begin to i64)) + (ptrtoint i32* %end to i64)) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body.i.i: Trip multiple is 1 @@ -178,7 +178,7 @@ define i32 @PR12375(i32* readnone %arg) { ; CHECK-NEXT: --> {(4 + %arg),+,4}<%bb1> U: [4,0) S: [4,0) Exits: (8 + %arg) LoopDispositions: { %bb1: Computable } ; CHECK-NEXT: Determining loop execution counts for: @PR12375 ; CHECK-NEXT: Loop %bb1: backedge-taken count is 1 -; CHECK-NEXT: Loop %bb1: max backedge-taken count is 1 +; CHECK-NEXT: Loop %bb1: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %bb1: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb1: Trip multiple is 2 @@ -208,7 +208,7 @@ define void @PR12376(i32* nocapture %arg, i32* nocapture %arg1) { ; CHECK-NEXT: --> {(4 + %arg),+,4}<%bb2> U: [4,0) S: [4,0) Exits: (4 + (4 * ((-1 + (-1 * (ptrtoint i32* %arg to i64)) + ((4 + (ptrtoint i32* %arg to i64)) umax (ptrtoint i32* %arg1 to i64))) /u 4)) + %arg) LoopDispositions: { %bb2: Computable } ; CHECK-NEXT: Determining loop execution counts for: @PR12376 ; CHECK-NEXT: Loop %bb2: backedge-taken count is ((-1 + (-1 * (ptrtoint i32* %arg to i64)) + ((4 + (ptrtoint i32* %arg to i64)) umax (ptrtoint i32* %arg1 to i64))) /u 4) -; CHECK-NEXT: Loop %bb2: max backedge-taken count is 4611686018427387902 +; CHECK-NEXT: Loop %bb2: constant max backedge-taken count is 4611686018427387902 ; CHECK-NEXT: Loop %bb2: Predicated backedge-taken count is ((-1 + (-1 * (ptrtoint i32* %arg to i64)) + ((4 + (ptrtoint i32* %arg to i64)) umax (ptrtoint i32* %arg1 to i64))) /u 4) ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb2: Trip multiple is 1 @@ -243,7 +243,7 @@ define void @nswnowrap(i32 %v, i32* %buf) { ; CHECK-NEXT: --> %buf.val U: full-set S: full-set Exits: <> LoopDispositions: { %for.body: Variant } ; CHECK-NEXT: Determining loop execution counts for: @nswnowrap ; CHECK-NEXT: Loop %for.body: backedge-taken count is ((-1 * %v) + ((1 + %v) smax %v)) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 1, actual taken count either this or zero. +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 1, actual taken count either this or zero. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((-1 * %v) + ((1 + %v) smax %v)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -285,7 +285,7 @@ define void @test4(i32 %arg) { ; CHECK-NEXT: --> {(1 + %arg),+,1}<%for.body> U: full-set S: full-set Exits: (10 smax (1 + %arg)) LoopDispositions: { %for.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test4 ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + (-1 * %arg) + (10 smax (1 + %arg))) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2147483638 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2147483638 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (-1 * %arg) + (10 smax (1 + %arg))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -318,7 +318,7 @@ define void @bad_postinc_nsw_a(i32 %n) { ; CHECK-NEXT: --> {7,+,7}<%loop> U: [7,0) S: [7,0) Exits: (7 + (7 * ((((-1 * (1 umin %n)) + %n) /u 7) + (1 umin %n)))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @bad_postinc_nsw_a ; CHECK-NEXT: Loop %loop: backedge-taken count is ((((-1 * (1 umin %n)) + %n) /u 7) + (1 umin %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 613566756 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 613566756 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((((-1 * (1 umin %n)) + %n) /u 7) + (1 umin %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -349,7 +349,7 @@ define void @postinc_poison_prop_through_and(i32 %n) { ; CHECK-NEXT: --> 0 U: [0,1) S: [0,1) Exits: 0 LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @postinc_poison_prop_through_and ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -377,7 +377,7 @@ define void @pr28012(i32 %n) { ; CHECK-NEXT: --> {7,+,7}<%loop> U: [7,-3) S: [7,-3) Exits: (7 + (7 * ((-1 + (7 umax %n)) /u 7))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @pr28012 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 + (7 umax %n)) /u 7) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 613566755 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 613566755 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 + (7 umax %n)) /u 7) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -409,7 +409,7 @@ define void @select_cond_poison_propagation(double* %p, i32 %x) nounwind { ; CHECK-NEXT: --> %cond U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @select_cond_poison_propagation ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/outer_phi.ll b/llvm/test/Analysis/ScalarEvolution/outer_phi.ll index 09a075e38f511..02511a2148384 100644 --- a/llvm/test/Analysis/ScalarEvolution/outer_phi.ll +++ b/llvm/test/Analysis/ScalarEvolution/outer_phi.ll @@ -20,12 +20,12 @@ define i32 @test_01(i32 %a, i32 %b) { ; CHECK-NEXT: Loop %inner: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for inner: %b ; CHECK-NEXT: exit count for inner.backedge: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %inner: max backedge-taken count is 2147483647 +; CHECK-NEXT: Loop %inner: constant max backedge-taken count is 2147483647 ; CHECK-NEXT: Loop %inner: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %outer: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for inner: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for outer.backedge: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %outer: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %outer: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %outer: Unpredictable predicated backedge-taken count. ; entry: @@ -78,12 +78,12 @@ define i32 @test_02(i32 %a, i32 %b) { ; CHECK-NEXT: Loop %inner: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for inner: ((-1 * %outer.iv) + (%b smax %outer.iv)) ; CHECK-NEXT: exit count for inner.backedge: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %inner: max backedge-taken count is -1 +; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %inner: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %outer: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for inner: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for outer.backedge: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %outer: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %outer: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %outer: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll b/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll index 38372c94e3ea3..9d1c7f52af43a 100644 --- a/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll +++ b/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll @@ -12,7 +12,7 @@ define void @uadd_exhaustive() { ; CHECK-LABEL: 'uadd_exhaustive' ; CHECK-NEXT: Determining loop execution counts for: @uadd_exhaustive ; CHECK-NEXT: Loop %for.body: backedge-taken count is 35 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 35 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 35 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 35 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 36 @@ -38,7 +38,7 @@ define void @sadd_exhaustive() { ; CHECK-LABEL: 'sadd_exhaustive' ; CHECK-NEXT: Determining loop execution counts for: @sadd_exhaustive ; CHECK-NEXT: Loop %for.body: backedge-taken count is 67 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 67 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 67 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 67 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 68 @@ -64,7 +64,7 @@ define void @usub_exhaustive() { ; CHECK-LABEL: 'usub_exhaustive' ; CHECK-NEXT: Determining loop execution counts for: @usub_exhaustive ; CHECK-NEXT: Loop %for.body: backedge-taken count is 50 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 50 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 50 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 50 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 51 @@ -90,7 +90,7 @@ define void @ssub_exhaustive() { ; CHECK-LABEL: 'ssub_exhaustive' ; CHECK-NEXT: Determining loop execution counts for: @ssub_exhaustive ; CHECK-NEXT: Loop %for.body: backedge-taken count is 68 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 68 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 68 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 68 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 69 @@ -116,7 +116,7 @@ define void @smul_exhaustive() { ; CHECK-LABEL: 'smul_exhaustive' ; CHECK-NEXT: Determining loop execution counts for: @smul_exhaustive ; CHECK-NEXT: Loop %for.body: backedge-taken count is 14 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 14 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 14 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 14 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 15 @@ -142,7 +142,7 @@ define void @umul_exhaustive() { ; CHECK-LABEL: 'umul_exhaustive' ; CHECK-NEXT: Determining loop execution counts for: @umul_exhaustive ; CHECK-NEXT: Loop %for.body: backedge-taken count is 15 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 15 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 15 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 15 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 16 @@ -168,7 +168,7 @@ define void @uadd_symbolic_start(i16 %start) { ; CHECK-LABEL: 'uadd_symbolic_start' ; CHECK-NEXT: Determining loop execution counts for: @uadd_symbolic_start ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + (-1 * %start)) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (-1 * %start)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -194,7 +194,7 @@ define void @sadd_symbolic_start(i16 %start) { ; CHECK-LABEL: 'sadd_symbolic_start' ; CHECK-NEXT: Determining loop execution counts for: @sadd_symbolic_start ; CHECK-NEXT: Loop %for.body: backedge-taken count is (32767 + (-1 * %start)) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (32767 + (-1 * %start)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -220,7 +220,7 @@ define void @sadd_symbolic_start2(i16 %start) { ; CHECK-LABEL: 'sadd_symbolic_start2' ; CHECK-NEXT: Determining loop execution counts for: @sadd_symbolic_start2 ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -245,7 +245,7 @@ define void @sadd_symbolic_swapped(i16 %start) { ; CHECK-LABEL: 'sadd_symbolic_swapped' ; CHECK-NEXT: Determining loop execution counts for: @sadd_symbolic_swapped ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -269,7 +269,7 @@ define void @usub_symbolic_start(i16 %start) { ; CHECK-LABEL: 'usub_symbolic_start' ; CHECK-NEXT: Determining loop execution counts for: @usub_symbolic_start ; CHECK-NEXT: Loop %for.body: backedge-taken count is %start -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is %start ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -295,7 +295,7 @@ define void @ssub_symbolic_start(i16 %start) { ; CHECK-LABEL: 'ssub_symbolic_start' ; CHECK-NEXT: Determining loop execution counts for: @ssub_symbolic_start ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-32768 + %start) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-32768 + %start) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -321,7 +321,7 @@ define void @smul_symbolic_start(i16 %start) { ; CHECK-LABEL: 'smul_symbolic_start' ; CHECK-NEXT: Determining loop execution counts for: @smul_symbolic_start ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -345,7 +345,7 @@ define void @umul_symbolic_start(i16 %start) { ; CHECK-LABEL: 'umul_symbolic_start' ; CHECK-NEXT: Determining loop execution counts for: @umul_symbolic_start ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -371,7 +371,7 @@ define void @sadd_symbolic_non_latch(i16 %start) { ; CHECK-NEXT: Loop %for.body: backedge-taken count is ((230 + (-1 * %start)) umin (32767 + (-1 * %start))) ; CHECK-NEXT: exit count for for.body: (32767 + (-1 * %start)) ; CHECK-NEXT: exit count for for.latch: (230 + (-1 * %start)) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((230 + (-1 * %start)) umin (32767 + (-1 * %start))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics.ll b/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics.ll index cd56c8a599f30..ed656f858c57e 100644 --- a/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics.ll +++ b/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics.ll @@ -31,7 +31,7 @@ cont: ; preds = %for.body %tmp2 = extractvalue { i32, i1 } %tmp0, 0 %cmp = icmp slt i32 %tmp2, 16 br i1 %cmp, label %for.body, label %for.cond.cleanup -; CHECK: Loop %for.body: max backedge-taken count is 15 +; CHECK: Loop %for.body: constant max backedge-taken count is 15 } define void @f_sadd_1(i8* %a) { @@ -66,7 +66,7 @@ cont: ; preds = %for.body %tmp2 = extractvalue { i32, i1 } %tmp0, 0 %cmp = icmp slt i32 %tmp2, 16 br i1 %cmp, label %for.body, label %for.cond.cleanup -; CHECK: Loop %for.body: max backedge-taken count is 15 +; CHECK: Loop %for.body: constant max backedge-taken count is 15 } define void @f_sadd_2(i8* %a, i1* %c) { @@ -216,7 +216,7 @@ cont: ; preds = %for.body %tmp2 = extractvalue { i32, i1 } %tmp0, 0 %cmp = icmp slt i32 %tmp2, 16 br i1 %cmp, label %for.body, label %for.cond.cleanup -; CHECK: Loop %for.body: max backedge-taken count is 15 +; CHECK: Loop %for.body: constant max backedge-taken count is 15 } define void @f_ssub(i8* nocapture %a) { @@ -247,7 +247,7 @@ cont: ; preds = %for.body %tmp2 = extractvalue { i32, i1 } %tmp0, 0 %cmp = icmp sgt i32 %tmp2, -1 br i1 %cmp, label %for.body, label %for.cond.cleanup -; CHECK: Loop %for.body: max backedge-taken count is 15 +; CHECK: Loop %for.body: constant max backedge-taken count is 15 } define void @f_usub(i8* nocapture %a) { @@ -278,7 +278,7 @@ cont: ; preds = %for.body %tmp2 = extractvalue { i32, i1 } %tmp0, 0 %cmp = icmp sgt i32 %tmp2, -1 br i1 %cmp, label %for.body, label %for.cond.cleanup -; CHECK: Loop %for.body: max backedge-taken count is 15 +; CHECK: Loop %for.body: constant max backedge-taken count is 15 } define i32 @f_smul(i32 %val_a, i32 %val_b) { diff --git a/llvm/test/Analysis/ScalarEvolution/pr25369.ll b/llvm/test/Analysis/ScalarEvolution/pr25369.ll index 9eed19a2d72fc..a944cf8042106 100644 --- a/llvm/test/Analysis/ScalarEvolution/pr25369.ll +++ b/llvm/test/Analysis/ScalarEvolution/pr25369.ll @@ -27,7 +27,7 @@ bb4: ; preds = %bb4, %bb2, %bb br i1 %tmp12, label %bb3, label %bb4 ; CHECK: Loop %bb4: backedge-taken count is 20 -; CHECK: Loop %bb4: max backedge-taken count is 20 +; CHECK: Loop %bb4: constant max backedge-taken count is 20 bb13: ; preds = %bb13, %bb3 %tmp14 = phi i64 [ 0, %bb3 ], [ %tmp15, %bb13 ] @@ -64,7 +64,7 @@ bb4: ; preds = %bb4, %bb2, %bb br i1 %tmp12, label %bb3, label %bb4 ; CHECK: Loop %bb4: Unpredictable backedge-taken count. -; CHECK: Loop %bb4: Unpredictable max backedge-taken count. +; CHECK: Loop %bb4: Unpredictable constant max backedge-taken count. bb13: ; preds = %bb13, %bb3 %tmp14 = phi i64 [ 0, %bb3 ], [ %tmp15, %bb13 ] diff --git a/llvm/test/Analysis/ScalarEvolution/pr34538.ll b/llvm/test/Analysis/ScalarEvolution/pr34538.ll index 6346d4359e5cf..3ac3d29016cef 100644 --- a/llvm/test/Analysis/ScalarEvolution/pr34538.ll +++ b/llvm/test/Analysis/ScalarEvolution/pr34538.ll @@ -3,7 +3,7 @@ define i32 @pr34538() local_unnamed_addr #0 { ; CHECK-ANALYSIS-1: Loop %do.body: backedge-taken count is 10000 -; CHECK-ANALYSIS-1: Loop %do.body: max backedge-taken count is 10000 +; CHECK-ANALYSIS-1: Loop %do.body: constant max backedge-taken count is 10000 ; CHECK-ANALYSIS-1: Loop %do.body: Predicated backedge-taken count is 10000 entry: br label %do.body @@ -34,6 +34,6 @@ do.body: ; preds = %do.body, %entry do.end: ; preds = %do.body ret i32 0 ; CHECK-ANALYSIS-2: Loop %do.body: backedge-taken count is 5000 -; CHECK-ANALYSIS-2: Loop %do.body: max backedge-taken count is 5000 +; CHECK-ANALYSIS-2: Loop %do.body: constant max backedge-taken count is 5000 ; CHECK-ANALYSIS-2: Loop %do.body: Predicated backedge-taken count is 5000 } diff --git a/llvm/test/Analysis/ScalarEvolution/pr48225.ll b/llvm/test/Analysis/ScalarEvolution/pr48225.ll index ee17d557727b6..cf21e6c1ad82a 100644 --- a/llvm/test/Analysis/ScalarEvolution/pr48225.ll +++ b/llvm/test/Analysis/ScalarEvolution/pr48225.ll @@ -7,7 +7,7 @@ ; - %cond.false.on.first.iter is false on 1st iteration; ; - %cond.false.on.second.iter is false on 2nd iteration; ; - Therefore, their AND is false on first two iterations, and the backedge is taken twice. -; 'max backedge-taken count is 1' is a bug caused by wrong treatment of AND +; 'constant max backedge-taken count is 1' is a bug caused by wrong treatment of AND ; condition in the computation logic. It should be 2. define void @test_and(i1 %boolcond) { ; CHECK-LABEL: 'test_and' @@ -24,7 +24,7 @@ define void @test_and(i1 %boolcond) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: 2 ; CHECK-NEXT: exit count for backedge: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -54,7 +54,7 @@ for.end: ; - %cond.true.on.first.iter is true on 1st iteration; ; - %cond.true.on.second.iter is true on 2nd iteration; ; - Therefore, their OR is true on first two iterations, and the backedge is taken twice. -; 'max backedge-taken count is 1' is a bug caused by wrong treatment of OR +; 'constant max backedge-taken count is 1' is a bug caused by wrong treatment of OR ; condition in the computation logic. It should be 2. define void @test_or(i1 %boolcond) { ; CHECK-LABEL: 'test_or' @@ -71,7 +71,7 @@ define void @test_or(i1 %boolcond) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: 2 ; CHECK-NEXT: exit count for backedge: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll b/llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll index b7d8e4f08f501..e9886c39c4d5d 100644 --- a/llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll +++ b/llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll @@ -21,7 +21,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: %i.0.ext = sext i16 %i.0 to i32 ; CHECK-NEXT: --> (sext i16 {0,+,1}<%bb3> to i32) ; CHECK: Loop %bb3: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %bb3: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %bb3: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %bb3: Predicated backedge-taken count is (1 + (-1 smax %M)) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {0,+,1}<%bb3> Added Flags: @@ -79,7 +79,7 @@ return: ; preds = %bb5 ; CHECK: %i.0.ext = sext i16 %i.0 to i32 ; CHECK-NEXT: --> (sext i16 {%Start,+,-1}<%bb3> to i32) ; CHECK: Loop %bb3: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %bb3: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %bb3: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %bb3: Predicated backedge-taken count is (1 + (sext i16 %Start to i32) + (-1 * ((1 + (sext i16 %Start to i32)) smin %M))) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {%Start,+,-1}<%bb3> Added Flags: diff --git a/llvm/test/Analysis/ScalarEvolution/ptrtoint-constantexpr-loop.ll b/llvm/test/Analysis/ScalarEvolution/ptrtoint-constantexpr-loop.ll index b2afd477a0585..07ab3c0e16047 100644 --- a/llvm/test/Analysis/ScalarEvolution/ptrtoint-constantexpr-loop.ll +++ b/llvm/test/Analysis/ScalarEvolution/ptrtoint-constantexpr-loop.ll @@ -23,7 +23,7 @@ define hidden i32* @trunc_ptr_to_i64(i8* %arg, i32* %arg10) { ; PTR64_IDX64-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR64_IDX64-NEXT: Determining loop execution counts for: @trunc_ptr_to_i64 ; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR64_IDX32-LABEL: 'trunc_ptr_to_i64' @@ -40,7 +40,7 @@ define hidden i32* @trunc_ptr_to_i64(i8* %arg, i32* %arg10) { ; PTR64_IDX32-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR64_IDX32-NEXT: Determining loop execution counts for: @trunc_ptr_to_i64 ; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX16-LABEL: 'trunc_ptr_to_i64' @@ -57,7 +57,7 @@ define hidden i32* @trunc_ptr_to_i64(i8* %arg, i32* %arg10) { ; PTR16_IDX16-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR16_IDX16-NEXT: Determining loop execution counts for: @trunc_ptr_to_i64 ; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX32-LABEL: 'trunc_ptr_to_i64' @@ -74,7 +74,7 @@ define hidden i32* @trunc_ptr_to_i64(i8* %arg, i32* %arg10) { ; PTR16_IDX32-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR16_IDX32-NEXT: Determining loop execution counts for: @trunc_ptr_to_i64 ; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; bb: @@ -110,7 +110,7 @@ define hidden i32* @trunc_ptr_to_i32(i8* %arg, i32* %arg10) { ; PTR64_IDX64-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR64_IDX64-NEXT: Determining loop execution counts for: @trunc_ptr_to_i32 ; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR64_IDX32-LABEL: 'trunc_ptr_to_i32' @@ -127,7 +127,7 @@ define hidden i32* @trunc_ptr_to_i32(i8* %arg, i32* %arg10) { ; PTR64_IDX32-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR64_IDX32-NEXT: Determining loop execution counts for: @trunc_ptr_to_i32 ; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX16-LABEL: 'trunc_ptr_to_i32' @@ -144,7 +144,7 @@ define hidden i32* @trunc_ptr_to_i32(i8* %arg, i32* %arg10) { ; PTR16_IDX16-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR16_IDX16-NEXT: Determining loop execution counts for: @trunc_ptr_to_i32 ; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX32-LABEL: 'trunc_ptr_to_i32' @@ -161,7 +161,7 @@ define hidden i32* @trunc_ptr_to_i32(i8* %arg, i32* %arg10) { ; PTR16_IDX32-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR16_IDX32-NEXT: Determining loop execution counts for: @trunc_ptr_to_i32 ; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; bb: @@ -197,7 +197,7 @@ define hidden i32* @trunc_ptr_to_i128(i8* %arg, i32* %arg10) { ; PTR64_IDX64-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR64_IDX64-NEXT: Determining loop execution counts for: @trunc_ptr_to_i128 ; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR64_IDX64-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR64_IDX32-LABEL: 'trunc_ptr_to_i128' @@ -214,7 +214,7 @@ define hidden i32* @trunc_ptr_to_i128(i8* %arg, i32* %arg10) { ; PTR64_IDX32-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR64_IDX32-NEXT: Determining loop execution counts for: @trunc_ptr_to_i128 ; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR64_IDX32-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX16-LABEL: 'trunc_ptr_to_i128' @@ -231,7 +231,7 @@ define hidden i32* @trunc_ptr_to_i128(i8* %arg, i32* %arg10) { ; PTR16_IDX16-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR16_IDX16-NEXT: Determining loop execution counts for: @trunc_ptr_to_i128 ; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR16_IDX16-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX32-LABEL: 'trunc_ptr_to_i128' @@ -248,7 +248,7 @@ define hidden i32* @trunc_ptr_to_i128(i8* %arg, i32* %arg10) { ; PTR16_IDX32-NEXT: --> {2,+,2}<%bb11> U: [0,-1) S: [-2147483648,2147483647) Exits: <> LoopDispositions: { %bb11: Computable } ; PTR16_IDX32-NEXT: Determining loop execution counts for: @trunc_ptr_to_i128 ; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable backedge-taken count. -; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable max backedge-taken count. +; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable constant max backedge-taken count. ; PTR16_IDX32-NEXT: Loop %bb11: Unpredictable predicated backedge-taken count. ; bb: @@ -279,7 +279,7 @@ define void @zext_ptr_to_i32(i32 %arg, i32 %arg6) { ; PTR64_IDX64-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR64_IDX64-NEXT: Determining loop execution counts for: @zext_ptr_to_i32 ; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; ; PTR64_IDX32-LABEL: 'zext_ptr_to_i32' @@ -290,7 +290,7 @@ define void @zext_ptr_to_i32(i32 %arg, i32 %arg6) { ; PTR64_IDX32-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR64_IDX32-NEXT: Determining loop execution counts for: @zext_ptr_to_i32 ; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX16-LABEL: 'zext_ptr_to_i32' @@ -301,7 +301,7 @@ define void @zext_ptr_to_i32(i32 %arg, i32 %arg6) { ; PTR16_IDX16-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR16_IDX16-NEXT: Determining loop execution counts for: @zext_ptr_to_i32 ; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX32-LABEL: 'zext_ptr_to_i32' @@ -312,7 +312,7 @@ define void @zext_ptr_to_i32(i32 %arg, i32 %arg6) { ; PTR16_IDX32-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR16_IDX32-NEXT: Determining loop execution counts for: @zext_ptr_to_i32 ; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; bb: @@ -338,7 +338,7 @@ define void @sext_to_i32(i32 %arg, i32 %arg6) { ; PTR64_IDX64-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR64_IDX64-NEXT: Determining loop execution counts for: @sext_to_i32 ; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR64_IDX64-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; ; PTR64_IDX32-LABEL: 'sext_to_i32' @@ -349,7 +349,7 @@ define void @sext_to_i32(i32 %arg, i32 %arg6) { ; PTR64_IDX32-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR64_IDX32-NEXT: Determining loop execution counts for: @sext_to_i32 ; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR64_IDX32-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX16-LABEL: 'sext_to_i32' @@ -360,7 +360,7 @@ define void @sext_to_i32(i32 %arg, i32 %arg6) { ; PTR16_IDX16-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR16_IDX16-NEXT: Determining loop execution counts for: @sext_to_i32 ; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR16_IDX16-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; ; PTR16_IDX32-LABEL: 'sext_to_i32' @@ -371,7 +371,7 @@ define void @sext_to_i32(i32 %arg, i32 %arg6) { ; PTR16_IDX32-NEXT: --> %tmp9 U: [0,2) S: [0,2) Exits: <> LoopDispositions: { %bb7: Variant } ; PTR16_IDX32-NEXT: Determining loop execution counts for: @sext_to_i32 ; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable backedge-taken count. -; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable max backedge-taken count. +; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable constant max backedge-taken count. ; PTR16_IDX32-NEXT: Loop %bb7: Unpredictable predicated backedge-taken count. ; bb: @@ -401,7 +401,7 @@ define i64 @sext_like_noop(i32 %n) { ; PTR64_IDX64-NEXT: --> {2,+,1}<%for.body> U: [2,0) S: [2,0) Exits: (trunc i64 (ptrtoint i64 (i32)* @sext_like_noop to i64) to i32) LoopDispositions: { %for.body: Computable } ; PTR64_IDX64-NEXT: Determining loop execution counts for: @sext_like_noop ; PTR64_IDX64-NEXT: Loop %for.body: backedge-taken count is (-2 + (trunc i64 (ptrtoint i64 (i32)* @sext_like_noop to i64) to i32)) -; PTR64_IDX64-NEXT: Loop %for.body: max backedge-taken count is -1 +; PTR64_IDX64-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; PTR64_IDX64-NEXT: Loop %for.body: Predicated backedge-taken count is (-2 + (trunc i64 (ptrtoint i64 (i32)* @sext_like_noop to i64) to i32)) ; PTR64_IDX64-NEXT: Predicates: ; PTR64_IDX64: Loop %for.body: Trip multiple is 1 @@ -418,7 +418,7 @@ define i64 @sext_like_noop(i32 %n) { ; PTR64_IDX32-NEXT: --> {2,+,1}<%for.body> U: [2,0) S: [2,0) Exits: ptrtoint (i64 (i32)* @sext_like_noop to i32) LoopDispositions: { %for.body: Computable } ; PTR64_IDX32-NEXT: Determining loop execution counts for: @sext_like_noop ; PTR64_IDX32-NEXT: Loop %for.body: backedge-taken count is (-2 + ptrtoint (i64 (i32)* @sext_like_noop to i32)) -; PTR64_IDX32-NEXT: Loop %for.body: max backedge-taken count is -1 +; PTR64_IDX32-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; PTR64_IDX32-NEXT: Loop %for.body: Predicated backedge-taken count is (-2 + ptrtoint (i64 (i32)* @sext_like_noop to i32)) ; PTR64_IDX32-NEXT: Predicates: ; PTR64_IDX32: Loop %for.body: Trip multiple is 1 @@ -435,7 +435,7 @@ define i64 @sext_like_noop(i32 %n) { ; PTR16_IDX16-NEXT: --> {2,+,1}<%for.body> U: [2,0) S: [2,0) Exits: (zext i16 (ptrtoint i64 (i32)* @sext_like_noop to i16) to i32) LoopDispositions: { %for.body: Computable } ; PTR16_IDX16-NEXT: Determining loop execution counts for: @sext_like_noop ; PTR16_IDX16-NEXT: Loop %for.body: backedge-taken count is (-2 + (zext i16 (ptrtoint i64 (i32)* @sext_like_noop to i16) to i32)) -; PTR16_IDX16-NEXT: Loop %for.body: max backedge-taken count is -1 +; PTR16_IDX16-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; PTR16_IDX16-NEXT: Loop %for.body: Predicated backedge-taken count is (-2 + (zext i16 (ptrtoint i64 (i32)* @sext_like_noop to i16) to i32)) ; PTR16_IDX16-NEXT: Predicates: ; PTR16_IDX16: Loop %for.body: Trip multiple is 1 @@ -452,7 +452,7 @@ define i64 @sext_like_noop(i32 %n) { ; PTR16_IDX32-NEXT: --> {2,+,1}<%for.body> U: [2,0) S: [2,0) Exits: ptrtoint (i64 (i32)* @sext_like_noop to i32) LoopDispositions: { %for.body: Computable } ; PTR16_IDX32-NEXT: Determining loop execution counts for: @sext_like_noop ; PTR16_IDX32-NEXT: Loop %for.body: backedge-taken count is (-2 + ptrtoint (i64 (i32)* @sext_like_noop to i32)) -; PTR16_IDX32-NEXT: Loop %for.body: max backedge-taken count is -1 +; PTR16_IDX32-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; PTR16_IDX32-NEXT: Loop %for.body: Predicated backedge-taken count is (-2 + ptrtoint (i64 (i32)* @sext_like_noop to i32)) ; PTR16_IDX32-NEXT: Predicates: ; PTR16_IDX32: Loop %for.body: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/ptrtoint.ll b/llvm/test/Analysis/ScalarEvolution/ptrtoint.ll index cb40ddda9369d..b647da817c55d 100644 --- a/llvm/test/Analysis/ScalarEvolution/ptrtoint.ll +++ b/llvm/test/Analysis/ScalarEvolution/ptrtoint.ll @@ -229,7 +229,7 @@ define void @ptrtoint_of_addrec(i32* %in, i32 %count) { ; X64-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: (zext i32 %count to i64) LoopDispositions: { %loop: Computable } ; X64-NEXT: Determining loop execution counts for: @ptrtoint_of_addrec ; X64-NEXT: Loop %loop: backedge-taken count is (-1 + (zext i32 %count to i64)) -; X64-NEXT: Loop %loop: max backedge-taken count is -1 +; X64-NEXT: Loop %loop: constant max backedge-taken count is -1 ; X64-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (zext i32 %count to i64)) ; X64-NEXT: Predicates: ; X64: Loop %loop: Trip multiple is 1 @@ -248,7 +248,7 @@ define void @ptrtoint_of_addrec(i32* %in, i32 %count) { ; X32-NEXT: --> {1,+,1}<%loop> U: [1,0) S: [1,0) Exits: (zext i32 %count to i64) LoopDispositions: { %loop: Computable } ; X32-NEXT: Determining loop execution counts for: @ptrtoint_of_addrec ; X32-NEXT: Loop %loop: backedge-taken count is (-1 + (zext i32 %count to i64)) -; X32-NEXT: Loop %loop: max backedge-taken count is -1 +; X32-NEXT: Loop %loop: constant max backedge-taken count is -1 ; X32-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (zext i32 %count to i64)) ; X32-NEXT: Predicates: ; X32: Loop %loop: Trip multiple is 1 @@ -395,7 +395,7 @@ define void @pr46786_c26_char(i8* %arg, i8* %arg1, i8* %arg2) { ; X64-NEXT: --> {(1 + %arg),+,1}<%bb6> U: full-set S: full-set Exits: ((-1 * (ptrtoint i8* %arg to i64)) + (ptrtoint i8* %arg1 to i64) + %arg) LoopDispositions: { %bb6: Computable } ; X64-NEXT: Determining loop execution counts for: @pr46786_c26_char ; X64-NEXT: Loop %bb6: backedge-taken count is (-1 + (-1 * (ptrtoint i8* %arg to i64)) + (ptrtoint i8* %arg1 to i64)) -; X64-NEXT: Loop %bb6: max backedge-taken count is -1 +; X64-NEXT: Loop %bb6: constant max backedge-taken count is -1 ; X64-NEXT: Loop %bb6: Predicated backedge-taken count is (-1 + (-1 * (ptrtoint i8* %arg to i64)) + (ptrtoint i8* %arg1 to i64)) ; X64-NEXT: Predicates: ; X64: Loop %bb6: Trip multiple is 1 @@ -422,7 +422,7 @@ define void @pr46786_c26_char(i8* %arg, i8* %arg1, i8* %arg2) { ; X32-NEXT: --> {(1 + %arg),+,1}<%bb6> U: full-set S: full-set Exits: ((-1 * (ptrtoint i8* %arg to i32)) + (ptrtoint i8* %arg1 to i32) + %arg) LoopDispositions: { %bb6: Computable } ; X32-NEXT: Determining loop execution counts for: @pr46786_c26_char ; X32-NEXT: Loop %bb6: backedge-taken count is (-1 + (-1 * (ptrtoint i8* %arg to i32)) + (ptrtoint i8* %arg1 to i32)) -; X32-NEXT: Loop %bb6: max backedge-taken count is -1 +; X32-NEXT: Loop %bb6: constant max backedge-taken count is -1 ; X32-NEXT: Loop %bb6: Predicated backedge-taken count is (-1 + (-1 * (ptrtoint i8* %arg to i32)) + (ptrtoint i8* %arg1 to i32)) ; X32-NEXT: Predicates: ; X32: Loop %bb6: Trip multiple is 1 @@ -482,7 +482,7 @@ define void @pr46786_c26_int(i32* %arg, i32* %arg1, i32* %arg2) { ; X64-NEXT: --> {(4 + %arg),+,4}<%bb6> U: full-set S: full-set Exits: (4 + (4 * ((-4 + (-1 * (ptrtoint i32* %arg to i64)) + (ptrtoint i32* %arg1 to i64)) /u 4)) + %arg) LoopDispositions: { %bb6: Computable } ; X64-NEXT: Determining loop execution counts for: @pr46786_c26_int ; X64-NEXT: Loop %bb6: backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %arg to i64)) + (ptrtoint i32* %arg1 to i64)) /u 4) -; X64-NEXT: Loop %bb6: max backedge-taken count is 4611686018427387903 +; X64-NEXT: Loop %bb6: constant max backedge-taken count is 4611686018427387903 ; X64-NEXT: Loop %bb6: Predicated backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %arg to i64)) + (ptrtoint i32* %arg1 to i64)) /u 4) ; X64-NEXT: Predicates: ; X64: Loop %bb6: Trip multiple is 1 @@ -511,7 +511,7 @@ define void @pr46786_c26_int(i32* %arg, i32* %arg1, i32* %arg2) { ; X32-NEXT: --> {(4 + %arg),+,4}<%bb6> U: full-set S: full-set Exits: (4 + (4 * ((-4 + (-1 * (ptrtoint i32* %arg to i32)) + (ptrtoint i32* %arg1 to i32)) /u 4)) + %arg) LoopDispositions: { %bb6: Computable } ; X32-NEXT: Determining loop execution counts for: @pr46786_c26_int ; X32-NEXT: Loop %bb6: backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %arg to i32)) + (ptrtoint i32* %arg1 to i32)) /u 4) -; X32-NEXT: Loop %bb6: max backedge-taken count is 1073741823 +; X32-NEXT: Loop %bb6: constant max backedge-taken count is 1073741823 ; X32-NEXT: Loop %bb6: Predicated backedge-taken count is ((-4 + (-1 * (ptrtoint i32* %arg to i32)) + (ptrtoint i32* %arg1 to i32)) /u 4) ; X32-NEXT: Predicates: ; X32: Loop %bb6: Trip multiple is 1 @@ -558,7 +558,7 @@ define void @ptrtoint_of_integer(i8* %arg, i64 %arg1, i1 %arg2) local_unnamed_ad ; X64-NEXT: Loop %bb8: Unpredictable backedge-taken count. ; X64-NEXT: exit count for bb8: ***COULDNOTCOMPUTE*** ; X64-NEXT: exit count for bb10: (-2 + (-1 * %arg1) + (ptrtoint i8* %arg to i64)) -; X64-NEXT: Loop %bb8: max backedge-taken count is -1 +; X64-NEXT: Loop %bb8: constant max backedge-taken count is -1 ; X64-NEXT: Loop %bb8: Unpredictable predicated backedge-taken count. ; ; X32-LABEL: 'ptrtoint_of_integer' @@ -575,7 +575,7 @@ define void @ptrtoint_of_integer(i8* %arg, i64 %arg1, i1 %arg2) local_unnamed_ad ; X32-NEXT: Loop %bb8: Unpredictable backedge-taken count. ; X32-NEXT: exit count for bb8: ***COULDNOTCOMPUTE*** ; X32-NEXT: exit count for bb10: (-2 + (zext i32 (ptrtoint i8* %arg to i32) to i64) + (-1 * %arg1)) -; X32-NEXT: Loop %bb8: max backedge-taken count is -1 +; X32-NEXT: Loop %bb8: constant max backedge-taken count is -1 ; X32-NEXT: Loop %bb8: Unpredictable predicated backedge-taken count. ; bb: diff --git a/llvm/test/Analysis/ScalarEvolution/range_nw_flag.ll b/llvm/test/Analysis/ScalarEvolution/range_nw_flag.ll index 6859a338efd90..455a9bf231b96 100644 --- a/llvm/test/Analysis/ScalarEvolution/range_nw_flag.ll +++ b/llvm/test/Analysis/ScalarEvolution/range_nw_flag.ll @@ -15,7 +15,7 @@ define void @test-add-nuw(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> ((4 * (sext i32 {(1 + %offset),+,1}<%loop> to i64)) + %input) U: full-set S: full-set Exits: ((4 * (sext i32 (%offset + %numIterations) to i64)) + %input) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-add-nuw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -50,7 +50,7 @@ define void @test-addrec-nuw(float* %input, i32 %offset, i32 %numIterations) { ; CHECK-NEXT: --> ((4 * (sext i32 {(1 + (10 smax %offset)),+,1}<%loop> to i64)) + %input) U: full-set S: full-set Exits: ((4 * (sext i32 ((10 smax %offset) + %numIterations) to i64)) + %input) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-addrec-nuw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -87,7 +87,7 @@ define void @test-addrec-nsw-start-neg-strip-neg(float* %input, i32 %offset, i32 ; CHECK-NEXT: --> {(-4 + (4 * (sext i32 (-10 smin %offset) to i64)) + %input),+,-4}<%loop> U: full-set S: full-set Exits: (-4 + (4 * (sext i32 (-10 smin %offset) to i64)) + (-4 * (zext i32 (-1 + (-1 * %numIterations)) to i64)) + %input) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-addrec-nsw-start-neg-strip-neg ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %numIterations)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %numIterations)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -124,7 +124,7 @@ define void @test-addrec-nsw-start-pos-strip-neg(float* %input, i32 %offset, i32 ; CHECK-NEXT: --> {(-4 + (4 * (sext i32 (10 smin %offset) to i64)) + %input),+,-4}<%loop> U: full-set S: full-set Exits: (-4 + (4 * (sext i32 (10 smin %offset) to i64)) + (-4 * (zext i32 (-1 + (-1 * %numIterations)) to i64)) + %input) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-addrec-nsw-start-pos-strip-neg ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %numIterations)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %numIterations)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -161,7 +161,7 @@ define void @test-addrec-nsw-start-pos-strip-pos(float* %input, i32 %offset, i32 ; CHECK-NEXT: --> {(4 + (4 * (zext i32 (10 smax %offset) to i64)) + %input),+,4}<%loop> U: [44,0) S: [44,0) Exits: (4 + (4 * (zext i32 (-1 + %numIterations) to i64)) + (4 * (zext i32 (10 smax %offset) to i64)) + %input) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-addrec-nsw-start-pos-strip-pos ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -198,7 +198,7 @@ define void @test-addrec-nsw-start-neg-strip-pos(float* %input, i32 %offset, i32 ; CHECK-NEXT: --> {(4 + (4 * (sext i32 (-10 smax %offset) to i64)) + %input),+,4}<%loop> U: full-set S: full-set Exits: (4 + (4 * (zext i32 (-1 + %numIterations) to i64)) + (4 * (sext i32 (-10 smax %offset) to i64)) + %input) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @test-addrec-nsw-start-neg-strip-pos ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %numIterations) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %numIterations) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/ranges.ll b/llvm/test/Analysis/ScalarEvolution/ranges.ll index 1a72f10cdd3df..f7bfbdd2b02f3 100644 --- a/llvm/test/Analysis/ScalarEvolution/ranges.ll +++ b/llvm/test/Analysis/ScalarEvolution/ranges.ll @@ -114,7 +114,7 @@ define i32 @phi_div() { ; CHECK-NEXT: --> (%range.1 /u 2) U: [0,1) S: [0,1) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @phi_div ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/sdiv.ll b/llvm/test/Analysis/ScalarEvolution/sdiv.ll index 603ce67843c93..9f3562bbd8199 100644 --- a/llvm/test/Analysis/ScalarEvolution/sdiv.ll +++ b/llvm/test/Analysis/ScalarEvolution/sdiv.ll @@ -31,7 +31,7 @@ define dso_local void @_Z4loopi(i32 %width) local_unnamed_addr #0 { ; CHECK-NEXT: --> {1,+,1}<%for.cond> U: [1,0) S: [1,0) Exits: (1 + %width) LoopDispositions: { %for.cond: Computable } ; CHECK-NEXT: Determining loop execution counts for: @_Z4loopi ; CHECK-NEXT: Loop %for.cond: backedge-taken count is %width -; CHECK-NEXT: Loop %for.cond: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.cond: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.cond: Predicated backedge-taken count is %width ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.cond: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/sext-mul.ll b/llvm/test/Analysis/ScalarEvolution/sext-mul.ll index 690c421b8d488..524cc70ba6a2a 100644 --- a/llvm/test/Analysis/ScalarEvolution/sext-mul.ll +++ b/llvm/test/Analysis/ScalarEvolution/sext-mul.ll @@ -11,7 +11,7 @@ ; CHECK: %tmp15 = getelementptr inbounds i32, i32* %arg, i64 %tmp14 ; CHECK-NEXT: --> {{.*}} Exits: (4 + (4 * (sext i32 (-2 + (2 * %arg2)) to i64)) + %arg) ; CHECK:Loop %bb7: backedge-taken count is (-1 + (zext i32 %arg2 to i64)) -; CHECK-NEXT:Loop %bb7: max backedge-taken count is 2147483646 +; CHECK-NEXT:Loop %bb7: constant max backedge-taken count is 2147483646 ; CHECK-NEXT:Loop %bb7: Predicated backedge-taken count is (-1 + (zext i32 %arg2 to i64)) define void @foo(i32* nocapture %arg, i32 %arg1, i32 %arg2) { @@ -52,7 +52,7 @@ bb7: ; preds = %bb7, %bb3 ; CHECK: %t14 = or i128 %t10, 1 ; CHECK-NEXT: --> {{.*}} Exits: (1 + (sext i127 (-633825300114114700748351602688 + (633825300114114700748351602688 * (zext i32 %arg5 to i127))) to i128)) ; CHECK: Loop %bb7: backedge-taken count is (-1 + (zext i32 %arg5 to i128)) -; CHECK-NEXT: Loop %bb7: max backedge-taken count is 2147483646 +; CHECK-NEXT: Loop %bb7: constant max backedge-taken count is 2147483646 ; CHECK-NEXT: Loop %bb7: Predicated backedge-taken count is (-1 + (zext i32 %arg5 to i128)) define void @goo(i32* nocapture %arg3, i32 %arg4, i32 %arg5) { diff --git a/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll b/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll index 0f5e7fc3fa361..a0409b0e1c259 100644 --- a/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll +++ b/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll @@ -20,7 +20,7 @@ define void @f(i1 %c) { ; CHECK-NEXT: --> {(zext i32 %start to i64),+,(sext i32 %step to i64)}<%loop> U: [0,101) S: [0,101) Exits: ((zext i32 %start to i64) + (99 * (sext i32 %step to i64))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f ; CHECK-NEXT: Loop %loop: backedge-taken count is 99 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 99 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 99 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 99 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 100 diff --git a/llvm/test/Analysis/ScalarEvolution/shift-op.ll b/llvm/test/Analysis/ScalarEvolution/shift-op.ll index 1a221a6ae2df5..e35c2c98b7a24 100644 --- a/llvm/test/Analysis/ScalarEvolution/shift-op.ll +++ b/llvm/test/Analysis/ScalarEvolution/shift-op.ll @@ -2,7 +2,7 @@ define void @test0(i32 %init) { ; CHECK-LABEL: Classifying expressions for: @test0 -; CHECK: Loop %loop: max backedge-taken count is 32 +; CHECK: Loop %loop: constant max backedge-taken count is 32 entry: br label %loop @@ -18,7 +18,7 @@ define void @test0(i32 %init) { define void @test1(i32 %init) { ; CHECK-LABEL: Classifying expressions for: @test1 -; CHECK: Loop %loop: max backedge-taken count is 32 +; CHECK: Loop %loop: constant max backedge-taken count is 32 entry: br label %loop @@ -34,7 +34,7 @@ define void @test1(i32 %init) { define void @test2(i32 %init) { ; CHECK-LABEL: Determining loop execution counts for: @test2 -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. ; Unpredictable because %iv could "stabilize" to either -1 or 0, ; depending on %init. @@ -53,7 +53,7 @@ define void @test2(i32 %init) { define void @test3(i32* %init.ptr) { ; CHECK-LABEL: Determining loop execution counts for: @test3 -; CHECK: Loop %loop: max backedge-taken count is 32 +; CHECK: Loop %loop: constant max backedge-taken count is 32 entry: %init = load i32, i32* %init.ptr, !range !0 br label %loop @@ -70,7 +70,7 @@ define void @test3(i32* %init.ptr) { define void @test4(i32* %init.ptr) { ; CHECK-LABEL: Classifying expressions for: @test4 -; CHECK-LABEL: Loop %loop: max backedge-taken count is 32 +; CHECK-LABEL: Loop %loop: constant max backedge-taken count is 32 entry: %init = load i32, i32* %init.ptr, !range !1 br label %loop @@ -87,7 +87,7 @@ define void @test4(i32* %init.ptr) { define void @test5(i32* %init.ptr) { ; CHECK-LABEL: Determining loop execution counts for: @test5 -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. ; %iv will "stabilize" to -1, so this is an infinite loop entry: @@ -106,7 +106,7 @@ define void @test5(i32* %init.ptr) { define void @test6(i32 %init, i32 %shift.amt) { ; CHECK-LABEL: Determining loop execution counts for: @test6 -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. ; Potentially infinite loop, since %shift.amt could be 0 entry: @@ -124,7 +124,7 @@ define void @test6(i32 %init, i32 %shift.amt) { define void @test7(i32 %init) { ; CHECK-LABEL: Classifying expressions for: @test7 -; CHECK: Loop %loop: max backedge-taken count is 32 +; CHECK: Loop %loop: constant max backedge-taken count is 32 entry: br label %loop @@ -141,7 +141,7 @@ define void @test7(i32 %init) { define void @test8(i32 %init) { ; CHECK-LABEL: Classifying expressions for: @test8 -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. ; In this test case, %iv.test stabilizes to 127, not -1, so the loop ; is infinite. @@ -162,7 +162,7 @@ define void @test8(i32 %init) { define void @test9() { ; CHECK-LABEL: Determining loop execution counts for: @test9 -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. ; This is an infinite loop, make sure that it recognized as such. diff --git a/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll b/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll index bc0f62e827ea7..b9bebff28146e 100644 --- a/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll +++ b/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll @@ -10,7 +10,7 @@ define void @test_lshr() { ; CHECK-NEXT: --> (%iv.lshr /u 2) U: [0,512) S: [0,512) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -33,7 +33,7 @@ define void @test_lshr2() { ; CHECK-NEXT: --> (%iv.lshr /u 16) U: [0,64) S: [0,64) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -56,7 +56,7 @@ define void @test_ashr_zeros() { ; CHECK-NEXT: --> %iv.ashr.next U: [0,512) S: [0,512) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_zeros ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -78,7 +78,7 @@ define void @test_ashr_ones() { ; CHECK-NEXT: --> %iv.ashr.next U: [-512,0) S: [-512,0) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_ones ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -101,7 +101,7 @@ define void @test_ashr_ones2() { ; CHECK-NEXT: --> %iv.ashr.next U: [-512,0) S: [-512,0) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_ones2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -125,7 +125,7 @@ define void @test_ashr_unknown(i64 %start) { ; CHECK-NEXT: --> %iv.ashr.next U: [-4611686018427387904,4611686018427387904) S: [-4611686018427387904,4611686018427387904) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_unknown ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -149,7 +149,7 @@ define void @test_ashr_wrong_op(i64 %start) { ; CHECK-NEXT: --> %iv.ashr.next U: [-2,2) S: [-2,2) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_wrong_op ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -172,7 +172,7 @@ define void @test_shl() { ; CHECK-NEXT: --> (2 * %iv.shl) U: [0,-15) S: [-9223372036854775808,9223372036854775793) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_shl ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -199,7 +199,7 @@ define void @test_shl2() { ; CHECK-NEXT: --> (2 * %iv.shl) U: [8,129) S: [8,129) Exits: 128 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_shl2 ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -233,7 +233,7 @@ define void @test_shl3(i1 %c) { ; CHECK-NEXT: --> %iv.shl.next U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_shl3 ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -266,7 +266,7 @@ define void @test_shl4() { ; CHECK-NEXT: --> (2 * %iv.shl) U: [8,-9223372036854775807) S: [-9223372036854775808,9223372036854775801) Exits: -9223372036854775808 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_shl4 ; CHECK-NEXT: Loop %loop: backedge-taken count is 60 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 60 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 60 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 60 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 61 @@ -298,7 +298,7 @@ define void @test_shl5() { ; CHECK-NEXT: --> (2 * %iv.shl) U: [0,-7) S: [-9223372036854775808,9223372036854775801) Exits: 0 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_shl5 ; CHECK-NEXT: Loop %loop: backedge-taken count is 61 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 61 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 61 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 61 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 62 @@ -332,7 +332,7 @@ define void @test_shl6(i1 %c) { ; CHECK-NEXT: --> %iv.shl.next U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: 16 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_shl6 ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -365,7 +365,7 @@ define void @test_shl7(i1 %c, i64 %shiftamt) { ; CHECK-NEXT: --> %iv.shl.next U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_shl7 ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -418,7 +418,7 @@ define void @unreachable_binop() { ; CHECK-NEXT: --> poison U: full-set S: full-set ; CHECK-NEXT: Determining loop execution counts for: @unreachable_binop ; CHECK-NEXT: Loop %header: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %header: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %header: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %header: Unpredictable predicated backedge-taken count. ; entry: @@ -475,7 +475,7 @@ define void @nonloop_recurrence_2() { ; CHECK-NEXT: --> (1 + %tmp) U: [1,-2147483647) S: [1,-2147483647) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @nonloop_recurrence_2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; bb: @@ -509,7 +509,7 @@ define void @test_ashr_tc_positive() { ; CHECK-NEXT: --> %iv.ashr.next U: [0,512) S: [0,512) Exits: 31 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_tc_positive ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -540,7 +540,7 @@ define void @test_ashr_tc_negative() { ; CHECK-NEXT: --> %iv.ashr.next U: [-64,0) S: [-64,0) Exits: -4 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_tc_negative ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -573,7 +573,7 @@ define void @test_ashr_tc_either(i1 %a) { ; CHECK-NEXT: --> %iv.ashr.next U: [-16,16) S: [-16,16) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_tc_either ; CHECK-NEXT: Loop %loop: backedge-taken count is 60 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 60 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 60 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 60 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 61 @@ -605,7 +605,7 @@ define void @test_ashr_zero_shift() { ; CHECK-NEXT: --> %iv.ashr U: [1023,1024) S: [1023,1024) Exits: 1023 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_ashr_zero_shift ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -636,7 +636,7 @@ define void @test_lshr_tc_positive() { ; CHECK-NEXT: --> (%iv.lshr /u 2) U: [31,512) S: [31,512) Exits: 31 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr_tc_positive ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -667,7 +667,7 @@ define void @test_lshr_tc_negative() { ; CHECK-NEXT: --> (%iv.lshr /u 2) U: [7,-128) S: [7,-128) Exits: 7 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr_tc_negative ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -700,7 +700,7 @@ define void @test_lshr_tc_either(i1 %a) { ; CHECK-NEXT: --> (%iv.lshr /u 2) U: [0,-128) S: [0,-128) Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr_tc_either ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -732,7 +732,7 @@ define void @test_lshr_zero_shift() { ; CHECK-NEXT: --> %iv.lshr U: [1023,1024) S: [1023,1024) Exits: 1023 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr_zero_shift ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -764,7 +764,7 @@ define void @test_lshr_power_of_2_start() { ; CHECK-NEXT: --> (%iv.lshr /u 4) U: [1,257) S: [1,257) Exits: 1 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr_power_of_2_start ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -796,7 +796,7 @@ define void @test_lshr_arbitrary_start() { ; CHECK-NEXT: --> (%iv.lshr /u 4) U: [0,240) S: [0,240) Exits: 0 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr_arbitrary_start ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 @@ -827,7 +827,7 @@ define void @test_lshr_start_power_of_2_plus_one() { ; CHECK-NEXT: --> (%iv.lshr /u 4) U: [1,257) S: [1,257) Exits: 1 LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @test_lshr_start_power_of_2_plus_one ; CHECK-NEXT: Loop %loop: backedge-taken count is 4 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 5 diff --git a/llvm/test/Analysis/ScalarEvolution/sle.ll b/llvm/test/Analysis/ScalarEvolution/sle.ll index 7b8c5f8e43537..a6b1aa7d2286a 100644 --- a/llvm/test/Analysis/ScalarEvolution/sle.ll +++ b/llvm/test/Analysis/ScalarEvolution/sle.ll @@ -5,7 +5,7 @@ ; CHECK: @le ; CHECK: Loop %for.body: backedge-taken count is %n -; CHECK: Loop %for.body: max backedge-taken count is 9223372036854775807 +; CHECK: Loop %for.body: constant max backedge-taken count is 9223372036854775807 define void @le(i64 %n, double* nocapture %p) nounwind { entry: diff --git a/llvm/test/Analysis/ScalarEvolution/smin-smax-folds.ll b/llvm/test/Analysis/ScalarEvolution/smin-smax-folds.ll index d94d7bc527e28..559306f41b708 100644 --- a/llvm/test/Analysis/ScalarEvolution/smin-smax-folds.ll +++ b/llvm/test/Analysis/ScalarEvolution/smin-smax-folds.ll @@ -30,7 +30,7 @@ define void @smin_simplify_with_guard(i32 %n) { ; CHECK-NEXT: --> {(-1 + %n),+,-1}<%for.body> U: full-set S: full-set Exits: -1 LoopDispositions: { %for.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @smin_simplify_with_guard ; CHECK-NEXT: Loop %for.body: backedge-taken count is %n -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483647 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483647 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -67,7 +67,7 @@ define void @smin_to_smax(i32 %n) { ; CHECK-NEXT: --> {(-1 + %n),+,-1}<%for.body> U: full-set S: full-set Exits: (-1 + (0 smin %n)) LoopDispositions: { %for.body: Computable } ; CHECK-NEXT: Determining loop execution counts for: @smin_to_smax ; CHECK-NEXT: Loop %for.body: backedge-taken count is ((-1 * (0 smin %n)) + %n) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483647 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483647 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((-1 * (0 smin %n)) + %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -102,7 +102,7 @@ define void @smax_simplify_with_guard(i32 %start, i32 %n) { ; CHECK-NEXT: --> {(1 + %start),+,1}<%loop> U: full-set S: full-set Exits: (1 + %n) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @smax_simplify_with_guard ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 * %start) + %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 * %start) + %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll index bc6f14135b1ad..b104766b4004f 100644 --- a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll +++ b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll @@ -18,7 +18,7 @@ define void @f0() { ; CHECK-NEXT: --> (zext i1 {true,+,true,+,true}<%b1> to i16) U: [0,2) S: [0,2) Exits: 0 LoopDispositions: { %b1: Computable } ; CHECK-NEXT: Determining loop execution counts for: @f0 ; CHECK-NEXT: Loop %b1: backedge-taken count is 1 -; CHECK-NEXT: Loop %b1: max backedge-taken count is 1 +; CHECK-NEXT: Loop %b1: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %b1: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %b1: Trip multiple is 2 @@ -64,10 +64,10 @@ define void @f1() #0 { ; CHECK-NEXT: --> {3,+,4,+,1}<%b1> U: full-set S: full-set --> 12 U: [12,13) S: [12,13) ; CHECK-NEXT: Determining loop execution counts for: @f1 ; CHECK-NEXT: Loop %b3: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %b3: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %b3: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %b3: Unpredictable predicated backedge-taken count. ; CHECK-NEXT: Loop %b1: backedge-taken count is 2 -; CHECK-NEXT: Loop %b1: max backedge-taken count is 2 +; CHECK-NEXT: Loop %b1: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %b1: Predicated backedge-taken count is 2 ; CHECK-NEXT: Predicates: ; CHECK: Loop %b1: Trip multiple is 3 diff --git a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll index 10473e238583a..6bd197e9bb9fb 100644 --- a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll +++ b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll @@ -19,7 +19,7 @@ ; CHECK-NEXT: --> {-1,+,-1}<%b1> U: [-256,0) S: [-256,0) --> -256 U: [-256,-255) S: [-256,-255) ; CHECK-NEXT: Determining loop execution counts for: @f0 ; CHECK-NEXT: Loop %b1: backedge-taken count is 255 -; CHECK-NEXT: Loop %b1: max backedge-taken count is 255 +; CHECK-NEXT: Loop %b1: constant max backedge-taken count is 255 ; CHECK-NEXT: Loop %b1: Predicated backedge-taken count is 255 ; CHECK-NEXT: Predicates: ; CHECK-EMPTY: diff --git a/llvm/test/Analysis/ScalarEvolution/srem.ll b/llvm/test/Analysis/ScalarEvolution/srem.ll index 2814fe9a5f401..0004d4d3ceadc 100644 --- a/llvm/test/Analysis/ScalarEvolution/srem.ll +++ b/llvm/test/Analysis/ScalarEvolution/srem.ll @@ -31,7 +31,7 @@ define dso_local void @_Z4loopi(i32 %width) local_unnamed_addr #0 { ; CHECK-NEXT: --> {1,+,1}<%for.cond> U: [1,0) S: [1,0) Exits: (1 + %width) LoopDispositions: { %for.cond: Computable } ; CHECK-NEXT: Determining loop execution counts for: @_Z4loopi ; CHECK-NEXT: Loop %for.cond: backedge-taken count is %width -; CHECK-NEXT: Loop %for.cond: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.cond: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.cond: Predicated backedge-taken count is %width ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.cond: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll index c15e35c909375..6dd14e6c50778 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll @@ -8,7 +8,7 @@ define void @unsimplified_and1(i32 %n) { ; CHECK-LABEL: 'unsimplified_and1' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and1 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -31,7 +31,7 @@ define void @unsimplified_and2(i32 %n) { ; CHECK-LABEL: 'unsimplified_and2' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and2 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -54,7 +54,7 @@ define void @unsimplified_and3(i32 %n) { ; CHECK-LABEL: 'unsimplified_and3' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and3 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -77,7 +77,7 @@ define void @unsimplified_and4(i32 %n) { ; CHECK-LABEL: 'unsimplified_and4' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and4 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -100,7 +100,7 @@ define void @unsimplified_or1(i32 %n) { ; CHECK-LABEL: 'unsimplified_or1' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or1 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -121,7 +121,7 @@ define void @unsimplified_or2(i32 %n) { ; CHECK-LABEL: 'unsimplified_or2' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -142,7 +142,7 @@ define void @unsimplified_or3(i32 %n) { ; CHECK-LABEL: 'unsimplified_or3' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or3 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -165,7 +165,7 @@ define void @unsimplified_or4(i32 %n) { ; CHECK-LABEL: 'unsimplified_or4' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or4 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -188,7 +188,7 @@ define void @reversed_and1(i32 %n) { ; CHECK-LABEL: 'reversed_and1' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and1 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -211,7 +211,7 @@ define void @reversed_and2(i32 %n) { ; CHECK-LABEL: 'reversed_and2' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and2 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -234,7 +234,7 @@ define void @reversed_and3(i32 %n) { ; CHECK-LABEL: 'reversed_and3' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and3 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -255,7 +255,7 @@ define void @reversed_and4(i32 %n) { ; CHECK-LABEL: 'reversed_and4' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and4 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -276,7 +276,7 @@ define void @reversed_or1(i32 %n) { ; CHECK-LABEL: 'reversed_or1' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or1 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -299,7 +299,7 @@ define void @reversed_or2(i32 %n) { ; CHECK-LABEL: 'reversed_or2' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or2 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -322,7 +322,7 @@ define void @reversed_or3(i32 %n) { ; CHECK-LABEL: 'reversed_or3' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or3 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -345,7 +345,7 @@ define void @reversed_or4(i32 %n) { ; CHECK-LABEL: 'reversed_or4' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or4 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll index 7473448ce89c5..fa0aa36d43c80 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll @@ -8,7 +8,7 @@ define void @unsimplified_and1(i32 %n) { ; CHECK-LABEL: 'unsimplified_and1' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and1 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -31,7 +31,7 @@ define void @unsimplified_and2(i32 %n) { ; CHECK-LABEL: 'unsimplified_and2' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and2 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -54,7 +54,7 @@ define void @unsimplified_and3(i32 %n) { ; CHECK-LABEL: 'unsimplified_and3' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and3 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -77,7 +77,7 @@ define void @unsimplified_and4(i32 %n) { ; CHECK-LABEL: 'unsimplified_and4' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_and4 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -100,7 +100,7 @@ define void @unsimplified_or1(i32 %n) { ; CHECK-LABEL: 'unsimplified_or1' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or1 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -121,7 +121,7 @@ define void @unsimplified_or2(i32 %n) { ; CHECK-LABEL: 'unsimplified_or2' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -142,7 +142,7 @@ define void @unsimplified_or3(i32 %n) { ; CHECK-LABEL: 'unsimplified_or3' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or3 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -165,7 +165,7 @@ define void @unsimplified_or4(i32 %n) { ; CHECK-LABEL: 'unsimplified_or4' ; CHECK-NEXT: Determining loop execution counts for: @unsimplified_or4 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -188,7 +188,7 @@ define void @reversed_and1(i32 %n) { ; CHECK-LABEL: 'reversed_and1' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and1 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -211,7 +211,7 @@ define void @reversed_and2(i32 %n) { ; CHECK-LABEL: 'reversed_and2' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and2 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -234,7 +234,7 @@ define void @reversed_and3(i32 %n) { ; CHECK-LABEL: 'reversed_and3' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and3 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -255,7 +255,7 @@ define void @reversed_and4(i32 %n) { ; CHECK-LABEL: 'reversed_and4' ; CHECK-NEXT: Determining loop execution counts for: @reversed_and4 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -276,7 +276,7 @@ define void @reversed_or1(i32 %n) { ; CHECK-LABEL: 'reversed_or1' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or1 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -299,7 +299,7 @@ define void @reversed_or2(i32 %n) { ; CHECK-LABEL: 'reversed_or2' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or2 ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -322,7 +322,7 @@ define void @reversed_or3(i32 %n) { ; CHECK-LABEL: 'reversed_or3' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or3 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -345,7 +345,7 @@ define void @reversed_or4(i32 %n) { ; CHECK-LABEL: 'reversed_or4' ; CHECK-NEXT: Determining loop execution counts for: @reversed_or4 ; CHECK-NEXT: Loop %loop: backedge-taken count is %n -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll index 1d9babddedc3a..1276c48f1c2cb 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll @@ -13,7 +13,7 @@ define void @nw_implies_nuw(i16 %n) mustprogress { ; CHECK-LABEL: 'nw_implies_nuw' ; CHECK-NEXT: Determining loop execution counts for: @nw_implies_nuw ; CHECK-NEXT: Loop %for.body: backedge-taken count is %n -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is %n ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -36,7 +36,7 @@ define void @neg_nw_nuw(i16 %n) mustprogress { ; CHECK-LABEL: 'neg_nw_nuw' ; CHECK-NEXT: Determining loop execution counts for: @neg_nw_nuw ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -57,7 +57,7 @@ define void @nw_implies_nsw(i16 %n) mustprogress { ; CHECK-LABEL: 'nw_implies_nsw' ; CHECK-NEXT: Determining loop execution counts for: @nw_implies_nsw ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (128 + (-128 smax %n)) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {-128,+,1}<%for.body> Added Flags: @@ -80,7 +80,7 @@ define void @neg_nw_nsw(i16 %n) mustprogress { ; CHECK-LABEL: 'neg_nw_nsw' ; CHECK-NEXT: Determining loop execution counts for: @neg_nw_nsw ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -102,7 +102,7 @@ define void @actually_infinite() { ; CHECK-LABEL: 'actually_infinite' ; CHECK-NEXT: Determining loop execution counts for: @actually_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 257 ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {0,+,1}<%for.body> Added Flags: @@ -126,7 +126,7 @@ define void @rhs_mustexit_1(i16 %n.raw) mustprogress { ; CHECK-LABEL: 'rhs_mustexit_1' ; CHECK-NEXT: Determining loop execution counts for: @rhs_mustexit_1 ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (1 umax (-1 + (zext i8 (trunc i16 %n.raw to i8) to i16)))) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {1,+,1}<%for.body> Added Flags: @@ -152,7 +152,7 @@ define void @rhs_mustexit_3(i16 %n.raw) mustprogress { ; CHECK-LABEL: 'rhs_mustexit_3' ; CHECK-NEXT: Determining loop execution counts for: @rhs_mustexit_3 ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -177,7 +177,7 @@ define void @rhs_mustexit_nonzero_step(i16 %n.raw, i8 %step.raw) mustprogress { ; CHECK-LABEL: 'rhs_mustexit_nonzero_step' ; CHECK-NEXT: Determining loop execution counts for: @rhs_mustexit_nonzero_step ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -202,7 +202,7 @@ define void @neg_maybe_zero_step(i16 %n.raw, i8 %step) mustprogress { ; CHECK-LABEL: 'neg_maybe_zero_step' ; CHECK-NEXT: Determining loop execution counts for: @neg_maybe_zero_step ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -226,7 +226,7 @@ define void @neg_rhs_wrong_range(i16 %n.raw) mustprogress { ; CHECK-LABEL: 'neg_rhs_wrong_range' ; CHECK-NEXT: Determining loop execution counts for: @neg_rhs_wrong_range ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((-1 + (2 umax (-1 + (zext i8 (trunc i16 %n.raw to i8) to i16)))) /u 2) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {2,+,2}<%for.body> Added Flags: @@ -252,7 +252,7 @@ define void @neg_rhs_maybe_infinite(i16 %n.raw) { ; CHECK-LABEL: 'neg_rhs_maybe_infinite' ; CHECK-NEXT: Determining loop execution counts for: @neg_rhs_maybe_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (1 umax (-1 + (zext i8 (trunc i16 %n.raw to i8) to i16)))) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {1,+,1}<%for.body> Added Flags: @@ -280,7 +280,7 @@ define void @rhs_narrow_range(i16 %n.raw) { ; CHECK-LABEL: 'rhs_narrow_range' ; CHECK-NEXT: Determining loop execution counts for: @rhs_narrow_range ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + (1 umax (2 * (zext i7 (trunc i16 (%n.raw /u 2) to i7) to i16)))) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 253 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 253 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (1 umax (2 * (zext i7 (trunc i16 (%n.raw /u 2) to i7) to i16)))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -306,7 +306,7 @@ define void @ugt_constant_rhs(i16 %n.raw, i8 %start) mustprogress { ; CHECK-LABEL: 'ugt_constant_rhs' ; CHECK-NEXT: Determining loop execution counts for: @ugt_constant_rhs ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -328,7 +328,7 @@ define void @ult_constant_rhs(i16 %n.raw, i8 %start) { ; CHECK-LABEL: 'ult_constant_rhs' ; CHECK-NEXT: Determining loop execution counts for: @ult_constant_rhs ; CHECK-NEXT: Loop %for.body: backedge-taken count is (255 + (-1 * (zext i8 (1 + %start) to i16))) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 255 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 255 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (255 + (-1 * (zext i8 (1 + %start) to i16))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -352,7 +352,7 @@ define void @ult_constant_rhs_stride2(i16 %n.raw, i8 %start) { ; CHECK-LABEL: 'ult_constant_rhs_stride2' ; CHECK-NEXT: Determining loop execution counts for: @ult_constant_rhs_stride2 ; CHECK-NEXT: Loop %for.body: backedge-taken count is ((1 + (-1 * (zext i8 (2 + %start) to i16)) + (254 umax (zext i8 (2 + %start) to i16))) /u 2) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 127 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 127 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((1 + (-1 * (zext i8 (2 + %start) to i16)) + (254 umax (zext i8 (2 + %start) to i16))) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -376,7 +376,7 @@ define void @ult_constant_rhs_stride2_neg(i16 %n.raw, i8 %start) { ; CHECK-LABEL: 'ult_constant_rhs_stride2_neg' ; CHECK-NEXT: Determining loop execution counts for: @ult_constant_rhs_stride2_neg ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is ((256 + (-1 * (zext i8 (2 + %start) to i16))) /u 2) ; CHECK-NEXT: Predicates: ; CHECK-NEXT: {(2 + %start),+,2}<%for.body> Added Flags: @@ -400,7 +400,7 @@ define void @ult_restricted_rhs(i16 %n.raw) { ; CHECK-LABEL: 'ult_restricted_rhs' ; CHECK-NEXT: Determining loop execution counts for: @ult_restricted_rhs ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + (1 umax (zext i8 (trunc i16 %n.raw to i8) to i16))) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 254 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 254 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (1 umax (zext i8 (trunc i16 %n.raw to i8) to i16))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -424,7 +424,7 @@ define void @ult_guarded_rhs(i16 %n) {; ; CHECK-LABEL: 'ult_guarded_rhs' ; CHECK-NEXT: Determining loop execution counts for: @ult_guarded_rhs ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + (1 umax %n)) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + (1 umax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll index 46ef6f7bd6f54..412d0b43732f5 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll @@ -13,7 +13,7 @@ define void @ult_wrap() { ; CHECK-LABEL: 'ult_wrap' ; CHECK-NEXT: Determining loop execution counts for: @ult_wrap ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -35,7 +35,7 @@ define void @ult_infinite() { ; CHECK-LABEL: 'ult_infinite' ; CHECK-NEXT: Determining loop execution counts for: @ult_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -57,7 +57,7 @@ define void @ult_infinite_ub() mustprogress { ; CHECK-LABEL: 'ult_infinite_ub' ; CHECK-NEXT: Determining loop execution counts for: @ult_infinite_ub ; CHECK-NEXT: Loop %for.body: backedge-taken count is 1 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 2 @@ -81,7 +81,7 @@ define void @ult_129_not_taken() { ; CHECK-LABEL: 'ult_129_not_taken' ; CHECK-NEXT: Determining loop execution counts for: @ult_129_not_taken ; CHECK-NEXT: Loop %for.body: backedge-taken count is 0 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 0 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -103,7 +103,7 @@ define void @ult_129_unknown_start(i8 %start) mustprogress { ; CHECK-LABEL: 'ult_129_unknown_start' ; CHECK-NEXT: Determining loop execution counts for: @ult_129_unknown_start ; CHECK-NEXT: Loop %for.body: backedge-taken count is 0 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 0 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -127,7 +127,7 @@ define void @ult_not_taken(i8 %step) { ; CHECK-LABEL: 'ult_not_taken' ; CHECK-NEXT: Determining loop execution counts for: @ult_not_taken ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -153,7 +153,7 @@ define void @ult_ub1() { ; CHECK-LABEL: 'ult_ub1' ; CHECK-NEXT: Determining loop execution counts for: @ult_ub1 ; CHECK-NEXT: Loop %for.body: backedge-taken count is 2 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 2 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 3 @@ -177,7 +177,7 @@ define void @ult_ub2() { ; CHECK-LABEL: 'ult_ub2' ; CHECK-NEXT: Determining loop execution counts for: @ult_ub2 ; CHECK-NEXT: Loop %for.body: backedge-taken count is 0 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 0 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -201,7 +201,7 @@ define void @ult_129_preinc() { ; CHECK-LABEL: 'ult_129_preinc' ; CHECK-NEXT: Determining loop execution counts for: @ult_129_preinc ; CHECK-NEXT: Loop %for.body: backedge-taken count is 1 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 2 @@ -223,7 +223,7 @@ define void @ult_preinc(i8 %step) { ; CHECK-LABEL: 'ult_preinc' ; CHECK-NEXT: Determining loop execution counts for: @ult_preinc ; CHECK-NEXT: Loop %for.body: backedge-taken count is 1 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 2 @@ -247,7 +247,7 @@ define void @ult_129_varying_rhs(i8* %n_p) { ; CHECK-LABEL: 'ult_129_varying_rhs' ; CHECK-NEXT: Determining loop execution counts for: @ult_129_varying_rhs ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -268,7 +268,7 @@ define void @ult_symbolic_varying_rhs(i8* %n_p, i8 %step) { ; CHECK-LABEL: 'ult_symbolic_varying_rhs' ; CHECK-NEXT: Determining loop execution counts for: @ult_symbolic_varying_rhs ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -297,7 +297,7 @@ define void @slt_wrap() { ; CHECK-LABEL: 'slt_wrap' ; CHECK-NEXT: Determining loop execution counts for: @slt_wrap ; CHECK-NEXT: Loop %for.body: backedge-taken count is 63 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 63 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 63 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 63 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 64 @@ -321,7 +321,7 @@ define void @slt_infinite() { ; CHECK-LABEL: 'slt_infinite' ; CHECK-NEXT: Determining loop execution counts for: @slt_infinite ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -343,7 +343,7 @@ define void @slt_infinite_ub() mustprogress { ; CHECK-LABEL: 'slt_infinite_ub' ; CHECK-NEXT: Determining loop execution counts for: @slt_infinite_ub ; CHECK-NEXT: Loop %for.body: backedge-taken count is 0 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 0 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -367,7 +367,7 @@ define void @slt_129_not_taken() { ; CHECK-LABEL: 'slt_129_not_taken' ; CHECK-NEXT: Determining loop execution counts for: @slt_129_not_taken ; CHECK-NEXT: Loop %for.body: backedge-taken count is 0 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 0 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -390,7 +390,7 @@ define void @slt_not_taken(i8 %step) { ; CHECK-LABEL: 'slt_not_taken' ; CHECK-NEXT: Determining loop execution counts for: @slt_not_taken ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -412,7 +412,7 @@ define void @slt_129_unknown_start(i8 %start) mustprogress { ; CHECK-LABEL: 'slt_129_unknown_start' ; CHECK-NEXT: Determining loop execution counts for: @slt_129_unknown_start ; CHECK-NEXT: Loop %for.body: backedge-taken count is (((127 + (-1 * (1 umin (127 + (-1 * %start) + (0 smax (-127 + %start))))) + (-1 * %start) + (0 smax (-127 + %start))) /u -127) + (1 umin (127 + (-1 * %start) + (0 smax (-127 + %start))))) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (((127 + (-1 * (1 umin (127 + (-1 * %start) + (0 smax (-127 + %start))))) + (-1 * %start) + (0 smax (-127 + %start))) /u -127) + (1 umin (127 + (-1 * %start) + (0 smax (-127 + %start))))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -437,7 +437,7 @@ define void @slt_ub1() { ; CHECK-LABEL: 'slt_ub1' ; CHECK-NEXT: Determining loop execution counts for: @slt_ub1 ; CHECK-NEXT: Loop %for.body: backedge-taken count is false -; CHECK-NEXT: Loop %for.body: max backedge-taken count is false +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is false ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -461,7 +461,7 @@ define void @slt_ub2() { ; CHECK-LABEL: 'slt_ub2' ; CHECK-NEXT: Determining loop execution counts for: @slt_ub2 ; CHECK-NEXT: Loop %for.body: backedge-taken count is false -; CHECK-NEXT: Loop %for.body: max backedge-taken count is false +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is false ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 @@ -485,7 +485,7 @@ define void @slt_129_preinc() { ; CHECK-LABEL: 'slt_129_preinc' ; CHECK-NEXT: Determining loop execution counts for: @slt_129_preinc ; CHECK-NEXT: Loop %for.body: backedge-taken count is 1 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 2 @@ -507,7 +507,7 @@ define void @slt_preinc(i8 %step) { ; CHECK-LABEL: 'slt_preinc' ; CHECK-NEXT: Determining loop execution counts for: @slt_preinc ; CHECK-NEXT: Loop %for.body: backedge-taken count is 1 -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 2 @@ -531,7 +531,7 @@ define void @slt_129_varying_rhs(i8* %n_p) { ; CHECK-LABEL: 'slt_129_varying_rhs' ; CHECK-NEXT: Determining loop execution counts for: @slt_129_varying_rhs ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -552,7 +552,7 @@ define void @slt_symbolic_varying_rhs(i8* %n_p, i8 %step) { ; CHECK-LABEL: 'slt_symbolic_varying_rhs' ; CHECK-NEXT: Determining loop execution counts for: @slt_symbolic_varying_rhs ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %for.body: Unpredictable predicated backedge-taken count. ; entry: @@ -578,12 +578,12 @@ define void @step_is_neg_addrec_slt_8(i64 %n) { ; CHECK-LABEL: 'step_is_neg_addrec_slt_8' ; CHECK-NEXT: Determining loop execution counts for: @step_is_neg_addrec_slt_8 ; CHECK-NEXT: Loop %inner: backedge-taken count is (7 /u {0,+,-1}<%outer.header>) -; CHECK-NEXT: Loop %inner: max backedge-taken count is -2147483640 +; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -2147483640 ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is (7 /u {0,+,-1}<%outer.header>) ; CHECK-NEXT: Predicates: ; CHECK: Loop %inner: Trip multiple is 1 ; CHECK-NEXT: Loop %outer.header: backedge-taken count is 0 -; CHECK-NEXT: Loop %outer.header: max backedge-taken count is 0 +; CHECK-NEXT: Loop %outer.header: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %outer.header: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %outer.header: Trip multiple is 1 @@ -618,12 +618,12 @@ define void @step_is_neg_addrec_slt_var(i32 %n) { ; CHECK-LABEL: 'step_is_neg_addrec_slt_var' ; CHECK-NEXT: Determining loop execution counts for: @step_is_neg_addrec_slt_var ; CHECK-NEXT: Loop %inner: backedge-taken count is ((((-1 * (1 umin ({0,+,1}<%outer.header> + ({0,+,-1}<%outer.header> smax %n)))) + {0,+,1}<%outer.header> + ({0,+,-1}<%outer.header> smax %n)) /u (1 umax {0,+,-1}<%outer.header>)) + (1 umin ({0,+,1}<%outer.header> + ({0,+,-1}<%outer.header> smax %n)))) -; CHECK-NEXT: Loop %inner: max backedge-taken count is -1 +; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is ((((-1 * (1 umin ({0,+,1}<%outer.header> + ({0,+,-1}<%outer.header> smax %n)))) + {0,+,1}<%outer.header> + ({0,+,-1}<%outer.header> smax %n)) /u (1 umax {0,+,-1}<%outer.header>)) + (1 umin ({0,+,1}<%outer.header> + ({0,+,-1}<%outer.header> smax %n)))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %inner: Trip multiple is 1 ; CHECK-NEXT: Loop %outer.header: backedge-taken count is 0 -; CHECK-NEXT: Loop %outer.header: max backedge-taken count is 0 +; CHECK-NEXT: Loop %outer.header: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %outer.header: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %outer.header: Trip multiple is 1 @@ -658,12 +658,12 @@ define void @step_is_neg_addrec_unknown_start(i32 %n) { ; CHECK-LABEL: 'step_is_neg_addrec_unknown_start' ; CHECK-NEXT: Determining loop execution counts for: @step_is_neg_addrec_unknown_start ; CHECK-NEXT: Loop %inner: backedge-taken count is ((((-1 * (1 umin ({(-1 * %n),+,1}<%outer.header> + (8 smax {%n,+,-1}<%outer.header>)))) + {(-1 * %n),+,1}<%outer.header> + (8 smax {%n,+,-1}<%outer.header>)) /u (1 umax {0,+,-1}<%outer.header>)) + (1 umin ({(-1 * %n),+,1}<%outer.header> + (8 smax {%n,+,-1}<%outer.header>)))) -; CHECK-NEXT: Loop %inner: max backedge-taken count is -2147483640 +; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -2147483640 ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is ((((-1 * (1 umin ({(-1 * %n),+,1}<%outer.header> + (8 smax {%n,+,-1}<%outer.header>)))) + {(-1 * %n),+,1}<%outer.header> + (8 smax {%n,+,-1}<%outer.header>)) /u (1 umax {0,+,-1}<%outer.header>)) + (1 umin ({(-1 * %n),+,1}<%outer.header> + (8 smax {%n,+,-1}<%outer.header>)))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %inner: Trip multiple is 1 ; CHECK-NEXT: Loop %outer.header: backedge-taken count is 0 -; CHECK-NEXT: Loop %outer.header: max backedge-taken count is 0 +; CHECK-NEXT: Loop %outer.header: constant max backedge-taken count is 0 ; CHECK-NEXT: Loop %outer.header: Predicated backedge-taken count is 0 ; CHECK-NEXT: Predicates: ; CHECK: Loop %outer.header: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-non-unit-stride.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-non-unit-stride.ll index af353755cc821..d3b419b5b7652 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-non-unit-stride.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-non-unit-stride.ll @@ -15,7 +15,7 @@ define void @test_preinc_ult(i64 %len) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for latch: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; start: @@ -48,7 +48,7 @@ define void @test_postinc_ult(i64 %len) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for latch: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; start: @@ -80,7 +80,7 @@ define void @test_preinc_slt(i64 %len) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for latch: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; start: @@ -113,7 +113,7 @@ define void @test_postinc_slt(i64 %len) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for latch: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; start: @@ -145,7 +145,7 @@ define void @test_preinc_sgt(i64 %lim) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for latch: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; start: @@ -178,7 +178,7 @@ define void @test_postinc_sgt(i64 %lim) { ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for loop: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for latch: ***COULDNOTCOMPUTE*** -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; start: diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll index d357a5636a90f..584ad28aca8cd 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll @@ -14,7 +14,7 @@ exit: ; CHECK-LABEL: @test1 ; CHECK: Loop %loop: backedge-taken count is ((-32 + (96 * %n)) /u 32) -; CHECK: Loop %loop: max backedge-taken count is 134217727 +; CHECK: Loop %loop: constant max backedge-taken count is 134217727 } ; PR19183 @@ -32,7 +32,7 @@ exit: ; CHECK-LABEL: @test2 ; CHECK: Loop %loop: backedge-taken count is ((-32 + (32 * (%n /u 32))) /u 32) -; CHECK: Loop %loop: max backedge-taken count is 134217727 +; CHECK: Loop %loop: constant max backedge-taken count is 134217727 } define void @test3(i32 %n) { @@ -49,7 +49,7 @@ exit: ; CHECK-LABEL: @test3 ; CHECK: Loop %loop: backedge-taken count is ((-32 + (32 * %n)) /u 32) -; CHECK: Loop %loop: max backedge-taken count is 134217727 +; CHECK: Loop %loop: constant max backedge-taken count is 134217727 } define void @test4(i32 %n) { @@ -66,7 +66,7 @@ exit: ; CHECK-LABEL: @test4 ; CHECK: Loop %loop: backedge-taken count is ((-4 + (-1431655764 * %n)) /u 4) -; CHECK: Loop %loop: max backedge-taken count is 1073741823 +; CHECK: Loop %loop: constant max backedge-taken count is 1073741823 } define void @test5(i32 %n) { @@ -83,5 +83,5 @@ exit: ; CHECK-LABEL: @test5 ; CHECK: Loop %loop: backedge-taken count is ((-4 + (4 * %n)) /u 4) -; CHECK: Loop %loop: max backedge-taken count is 1073741823 +; CHECK: Loop %loop: constant max backedge-taken count is 1073741823 } diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll index cf0e266290488..d2b6e1f4e7ccc 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll @@ -26,5 +26,5 @@ for.end: ; preds = %for.cond ; CHECK-LABEL: @test1 ; CHECK: Loop %for.cond: backedge-taken count is 2 -; CHECK: Loop %for.cond: max backedge-taken count is 2 +; CHECK: Loop %for.cond: constant max backedge-taken count is 2 } diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll index 6965aacca09a8..530e786f59595 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll @@ -8,7 +8,7 @@ ; We should have a conservative estimate for the max backedge taken count for ; loops with unknown stride. -; CHECK: max backedge-taken count is -1 +; CHECK: constant max backedge-taken count is -1 target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128" @@ -38,7 +38,7 @@ for.end: ; preds = %for.body, %entry ; We should have a conservative estimate for the max backedge taken count for ; loops with unknown stride. -; CHECK: max backedge-taken count is -1 +; CHECK: constant max backedge-taken count is -1 define void @foo2(i32* nocapture %A, i32 %n, i32 %s) mustprogress { entry: @@ -62,7 +62,7 @@ for.end: ; preds = %for.body, %entry ; loops being UB. ; CHECK-LABEL: Determining loop execution counts for: @foo3 ; CHECK: Loop %for.body: Unpredictable backedge-taken count. -; CHECK: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK: Loop %for.body: Unpredictable constant max backedge-taken count. define void @foo3(i32* nocapture %A, i32 %n, i32 %s) { entry: @@ -85,7 +85,7 @@ for.end: ; preds = %for.body, %entry ; Same as foo2, but with mustprogress on loop, not function ; CHECK: Determining loop execution counts for: @foo4 ; CHECK: backedge-taken count is ((((-1 * (1 umin ((-1 * %s) + (%n smax %s)))) + (-1 * %s) + (%n smax %s)) /u (1 umax %s)) + (1 umin ((-1 * %s) + (%n smax %s)))) -; CHECK: max backedge-taken count is -1 +; CHECK: constant max backedge-taken count is -1 define void @foo4(i32* nocapture %A, i32 %n, i32 %s) { entry: @@ -111,7 +111,7 @@ for.end: ; preds = %for.body, %entry ; We should have a conservative estimate for the max backedge taken count for ; loops with unknown stride. -; CHECK: max backedge-taken count is -1 +; CHECK: constant max backedge-taken count is -1 define void @foo5(i32* nocapture %A, i32 %n, i32 %s, i32 %start) mustprogress { entry: @@ -135,7 +135,7 @@ for.end: ; preds = %for.body, %entry ; for unknown but potentially zero stride. ; CHECK-LABEL: Determining loop execution counts for: @zero_stride ; CHECK: Loop %for.body: Unpredictable backedge-taken count. -; CHECK: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK: Loop %for.body: Unpredictable predicated backedge-taken count. ; Note that this function is well defined only when %n <=s 0 define void @zero_stride(i32* nocapture %A, i32 %n) { @@ -158,7 +158,7 @@ for.end: ; preds = %for.body, %entry ; CHECK-LABEL: Determining loop execution counts for: @zero_stride_ub ; CHECK: Loop %for.body: Unpredictable backedge-taken count. -; CHECK: Loop %for.body: Unpredictable max backedge-taken count. +; CHECK: Loop %for.body: Unpredictable constant max backedge-taken count. ; CHECK: Loop %for.body: Unpredictable predicated backedge-taken count. ; Note that this function will always execute undefined behavior and thus ; any value is valid for a backedge taken count. @@ -183,7 +183,7 @@ for.end: ; preds = %for.body, %entry ; When %zero = 0, this loop is only well defined if %n < 0 and thus BTC = 0. ; CHECK-LABEL: Determining loop execution counts for: @zero_stride_symbolic ; CHECK: Loop %for.body: backedge-taken count is ((((-1 * (1 umin ((-1 * %zero) + (%n smax %zero)))) + (-1 * %zero) + (%n smax %zero)) /u (1 umax %zero)) + (1 umin ((-1 * %zero) + (%n smax %zero)))) -; CHECK: Loop %for.body: max backedge-taken count is -1 +; CHECK: Loop %for.body: constant max backedge-taken count is -1 define void @zero_stride_symbolic(i32* nocapture %A, i32 %n, i32 %zero) { entry: @@ -206,7 +206,7 @@ for.end: ; preds = %for.body, %entry ; CHECK-LABEL: Determining loop execution counts for: @zero_stride_varying_rhs ; CHECK: Loop %for.body: Unpredictable backedge-taken count. -; CHECK: Loop %for.body: Unpredictable max backedge-taken count +; CHECK: Loop %for.body: Unpredictable constant max backedge-taken count define void @zero_stride_varying_rhs(i32* nocapture %A, i32* %n_p, i32 %zero) { entry: diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count.ll b/llvm/test/Analysis/ScalarEvolution/trip-count.ll index 20b5b3b813d1d..9546a49a4a599 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count.ll @@ -10,7 +10,7 @@ define void @PR1101(i32 %N) { ; CHECK-LABEL: 'PR1101' ; CHECK-NEXT: Determining loop execution counts for: @PR1101 ; CHECK-NEXT: Loop %bb3: backedge-taken count is 10000 -; CHECK-NEXT: Loop %bb3: max backedge-taken count is 10000 +; CHECK-NEXT: Loop %bb3: constant max backedge-taken count is 10000 ; CHECK-NEXT: Loop %bb3: Predicated backedge-taken count is 10000 ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb3: Trip multiple is 10001 @@ -40,7 +40,7 @@ define i32 @PR22795() { ; CHECK-LABEL: 'PR22795' ; CHECK-NEXT: Determining loop execution counts for: @PR22795 ; CHECK-NEXT: Loop %preheader: backedge-taken count is 7 -; CHECK-NEXT: Loop %preheader: max backedge-taken count is 7 +; CHECK-NEXT: Loop %preheader: constant max backedge-taken count is 7 ; CHECK-NEXT: Loop %preheader: Predicated backedge-taken count is 7 ; CHECK-NEXT: Predicates: ; CHECK: Loop %preheader: Trip multiple is 8 @@ -103,7 +103,7 @@ define void @pr28012(i32 %n) { ; CHECK-LABEL: 'pr28012' ; CHECK-NEXT: Determining loop execution counts for: @pr28012 ; CHECK-NEXT: Loop %loop: backedge-taken count is -1431655751 -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1431655751 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1431655751 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is -1431655751 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 2863311546 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count10.ll b/llvm/test/Analysis/ScalarEvolution/trip-count10.ll index 69d9a23e70b97..2f5c5992d0703 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count10.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count10.ll @@ -7,7 +7,7 @@ define void @a(i64 %n) nounwind { ; CHECK-LABEL: 'a' ; CHECK-NEXT: Determining loop execution counts for: @a ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -27,7 +27,7 @@ define void @b(i64 %n) nounwind { ; CHECK-LABEL: 'b' ; CHECK-NEXT: Determining loop execution counts for: @b ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -49,7 +49,7 @@ define void @c(i64 %n) nounwind { ; CHECK-LABEL: 'c' ; CHECK-NEXT: Determining loop execution counts for: @c ; CHECK-NEXT: Loop %loop: backedge-taken count is false -; CHECK-NEXT: Loop %loop: max backedge-taken count is false +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is false ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is false ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -71,7 +71,7 @@ define void @d(i64 %n) nounwind { ; CHECK-LABEL: 'd' ; CHECK-NEXT: Determining loop execution counts for: @d ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -99,7 +99,7 @@ define void @nonpolynomial() { ; CHECK-LABEL: 'nonpolynomial' ; CHECK-NEXT: Determining loop execution counts for: @nonpolynomial ; CHECK-NEXT: Loop %loophead: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loophead: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loophead: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loophead: Unpredictable predicated backedge-taken count. ; entry: @@ -127,7 +127,7 @@ define void @constant_phi_operands() nounwind { ; CHECK-LABEL: 'constant_phi_operands' ; CHECK-NEXT: Determining loop execution counts for: @constant_phi_operands ; CHECK-NEXT: Loop %loop: backedge-taken count is 1 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 1 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 2 @@ -152,7 +152,7 @@ define void @exit_orcond_nsw(i32 *%a) nounwind { ; CHECK-LABEL: 'exit_orcond_nsw' ; CHECK-NEXT: Determining loop execution counts for: @exit_orcond_nsw ; CHECK-NEXT: Loop %for.body.i: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %for.body.i: max backedge-taken count is 1 +; CHECK-NEXT: Loop %for.body.i: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %for.body.i: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count12.ll b/llvm/test/Analysis/ScalarEvolution/trip-count12.ll index e7689937b6dc9..356f9c826dee8 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count12.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count12.ll @@ -2,7 +2,7 @@ ; CHECK: Determining loop execution counts for: @test ; CHECK: Loop %for.body: backedge-taken count is ((-2 + %len) /u 2) -; CHECK: Loop %for.body: max backedge-taken count is 1073741823 +; CHECK: Loop %for.body: constant max backedge-taken count is 1073741823 define zeroext i16 @test(i16* nocapture %p, i32 %len) nounwind readonly { entry: diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count13.ll b/llvm/test/Analysis/ScalarEvolution/trip-count13.ll index 24f4892665210..d2bd34a2424b2 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count13.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count13.ll @@ -14,7 +14,7 @@ loop: ; CHECK-LABEL: Determining loop execution counts for: @u_0 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-100 + (-1 * %rhs) + ((100 + %rhs) umax %rhs)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -100, actual taken count either this or zero. +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -100, actual taken count either this or zero. leave: ret void @@ -34,7 +34,7 @@ loop: ; CHECK-LABEL: Determining loop execution counts for: @u_1 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 * %start) + ((-100 + %start) umax %start)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -100, actual taken count either this or zero. +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -100, actual taken count either this or zero. leave: ret void @@ -54,7 +54,7 @@ loop: ; CHECK-LABEL: Determining loop execution counts for: @s_0 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-100 + (-1 * %rhs) + ((100 + %rhs) smax %rhs)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -100, actual taken count either this or zero. +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -100, actual taken count either this or zero. leave: ret void @@ -74,7 +74,7 @@ loop: ; CHECK-LABEL: Determining loop execution counts for: @s_1 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 * %start) + ((-100 + %start) smax %start)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -100, actual taken count either this or zero. +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -100, actual taken count either this or zero. leave: ret void @@ -93,7 +93,7 @@ loop: ; CHECK-LABEL: Determining loop execution counts for: @s_2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 * ((-100 + %start) smin %start)) + %start) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 leave: ret void diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count14.ll b/llvm/test/Analysis/ScalarEvolution/trip-count14.ll index 8b16382271ae0..500c594174893 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count14.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count14.ll @@ -5,7 +5,7 @@ define void @s32_max1(i32 %n, i32* %p) { ; CHECK-LABEL: 's32_max1' ; CHECK-NEXT: Determining loop execution counts for: @s32_max1 ; CHECK-NEXT: Loop %do.body: backedge-taken count is ((-1 * %n) + ((1 + %n) smax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is 1, actual taken count either this or zero. +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is 1, actual taken count either this or zero. ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is ((-1 * %n) + ((1 + %n) smax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 @@ -30,7 +30,7 @@ define void @s32_max2(i32 %n, i32* %p) { ; CHECK-LABEL: 's32_max2' ; CHECK-NEXT: Determining loop execution counts for: @s32_max2 ; CHECK-NEXT: Loop %do.body: backedge-taken count is ((-1 * %n) + ((2 + %n) smax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is 2, actual taken count either this or zero. +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is 2, actual taken count either this or zero. ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is ((-1 * %n) + ((2 + %n) smax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 @@ -55,7 +55,7 @@ define void @s32_maxx(i32 %n, i32 %x, i32* %p) { ; CHECK-LABEL: 's32_maxx' ; CHECK-NEXT: Determining loop execution counts for: @s32_maxx ; CHECK-NEXT: Loop %do.body: backedge-taken count is ((-1 * %n) + ((%n + %x) smax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is ((-1 * %n) + ((%n + %x) smax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 @@ -82,7 +82,7 @@ define void @s32_max2_unpredictable_exit(i32 %n, i32 %x, i32* %p) { ; CHECK-NEXT: Loop %do.body: backedge-taken count is (((-1 * %n) + ((2 + %n) smax %n)) umin ((-1 * %n) + %x)) ; CHECK-NEXT: exit count for do.body: ((-1 * %n) + %x) ; CHECK-NEXT: exit count for if.end: ((-1 * %n) + ((2 + %n) smax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is 2 +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is (((-1 * %n) + ((2 + %n) smax %n)) umin ((-1 * %n) + %x)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 @@ -111,7 +111,7 @@ define void @u32_max1(i32 %n, i32* %p) { ; CHECK-LABEL: 'u32_max1' ; CHECK-NEXT: Determining loop execution counts for: @u32_max1 ; CHECK-NEXT: Loop %do.body: backedge-taken count is ((-1 * %n) + ((1 + %n) umax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is 1, actual taken count either this or zero. +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is 1, actual taken count either this or zero. ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is ((-1 * %n) + ((1 + %n) umax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 @@ -136,7 +136,7 @@ define void @u32_max2(i32 %n, i32* %p) { ; CHECK-LABEL: 'u32_max2' ; CHECK-NEXT: Determining loop execution counts for: @u32_max2 ; CHECK-NEXT: Loop %do.body: backedge-taken count is ((-1 * %n) + ((2 + %n) umax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is 2, actual taken count either this or zero. +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is 2, actual taken count either this or zero. ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is ((-1 * %n) + ((2 + %n) umax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 @@ -161,7 +161,7 @@ define void @u32_maxx(i32 %n, i32 %x, i32* %p) { ; CHECK-LABEL: 'u32_maxx' ; CHECK-NEXT: Determining loop execution counts for: @u32_maxx ; CHECK-NEXT: Loop %do.body: backedge-taken count is ((-1 * %n) + ((%n + %x) umax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is ((-1 * %n) + ((%n + %x) umax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 @@ -188,7 +188,7 @@ define void @u32_max2_unpredictable_exit(i32 %n, i32 %x, i32* %p) { ; CHECK-NEXT: Loop %do.body: backedge-taken count is (((-1 * %n) + ((2 + %n) umax %n)) umin ((-1 * %n) + %x)) ; CHECK-NEXT: exit count for do.body: ((-1 * %n) + %x) ; CHECK-NEXT: exit count for if.end: ((-1 * %n) + ((2 + %n) umax %n)) -; CHECK-NEXT: Loop %do.body: max backedge-taken count is 2 +; CHECK-NEXT: Loop %do.body: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %do.body: Predicated backedge-taken count is (((-1 * %n) + ((2 + %n) umax %n)) umin ((-1 * %n) + %x)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %do.body: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count15.ll b/llvm/test/Analysis/ScalarEvolution/trip-count15.ll index 8a7c5865e1e99..dcfe9668aef54 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count15.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count15.ll @@ -12,7 +12,7 @@ define void @umin_unsigned_check(i64 %n) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,4099) S: [1,4099) Exits: (2 + (4096 umin %n)) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @umin_unsigned_check ; CHECK-NEXT: Loop %loop: backedge-taken count is (1 + (4096 umin %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4097 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4097 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (1 + (4096 umin %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -42,7 +42,7 @@ define void @umin_signed_check(i64 %n) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,4099) S: [1,4099) Exits: (2 + (4096 umin %n)) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @umin_signed_check ; CHECK-NEXT: Loop %loop: backedge-taken count is (1 + (4096 umin %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4097 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4097 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (1 + (4096 umin %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -72,7 +72,7 @@ define void @smin_signed_check(i64 %n) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,4099) S: [1,4099) Exits: (1 + (0 smax (1 + (4096 smin %n)))) LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @smin_signed_check ; CHECK-NEXT: Loop %loop: backedge-taken count is (0 smax (1 + (4096 smin %n))) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4097 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4097 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (0 smax (1 + (4096 smin %n))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -102,7 +102,7 @@ define void @smin_unsigned_check(i64 %n) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @smin_unsigned_check ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count2.ll b/llvm/test/Analysis/ScalarEvolution/trip-count2.ll index 4456f6831308c..ec54907cb15ee 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count2.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count2.ll @@ -7,7 +7,7 @@ define void @PR1101(i32 %N) { ; CHECK-LABEL: 'PR1101' ; CHECK-NEXT: Determining loop execution counts for: @PR1101 ; CHECK-NEXT: Loop %bb3: backedge-taken count is 4 -; CHECK-NEXT: Loop %bb3: max backedge-taken count is 4 +; CHECK-NEXT: Loop %bb3: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %bb3: Predicated backedge-taken count is 4 ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb3: Trip multiple is 5 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count3.ll b/llvm/test/Analysis/ScalarEvolution/trip-count3.ll index ed64899548bbf..d34fe7248d0c7 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count3.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count3.ll @@ -40,7 +40,7 @@ define void @sha_stream_bb3_2E_i(%struct.SHA_INFO* %sha_info, i8* %data1, i32, i ; CHECK-LABEL: 'sha_stream_bb3_2E_i' ; CHECK-NEXT: Determining loop execution counts for: @sha_stream_bb3_2E_i ; CHECK-NEXT: Loop %bb3.i: backedge-taken count is ((63 + (-1 * (63 smin %0)) + %0) /u 64) -; CHECK-NEXT: Loop %bb3.i: max backedge-taken count is 33554431 +; CHECK-NEXT: Loop %bb3.i: constant max backedge-taken count is 33554431 ; CHECK-NEXT: Loop %bb3.i: Predicated backedge-taken count is ((63 + (-1 * (63 smin %0)) + %0) /u 64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %bb3.i: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count4.ll b/llvm/test/Analysis/ScalarEvolution/trip-count4.ll index 626d38c59e295..6a36eaa2abafc 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count4.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count4.ll @@ -7,7 +7,7 @@ define void @another_count_down_signed(double* %d, i64 %n) nounwind { ; CHECK-LABEL: 'another_count_down_signed' ; CHECK-NEXT: Determining loop execution counts for: @another_count_down_signed ; CHECK-NEXT: Loop %loop: backedge-taken count is (-11 + %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-11 + %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count6.ll b/llvm/test/Analysis/ScalarEvolution/trip-count6.ll index e6bf9822d963f..f8397aaa78d1b 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count6.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count6.ll @@ -9,7 +9,7 @@ define i8 @f() { ; CHECK-NEXT: Loop %bb: Unpredictable backedge-taken count. ; CHECK-NEXT: exit count for bb: ***COULDNOTCOMPUTE*** ; CHECK-NEXT: exit count for bb2: 1 -; CHECK-NEXT: Loop %bb: max backedge-taken count is 1 +; CHECK-NEXT: Loop %bb: constant max backedge-taken count is 1 ; CHECK-NEXT: Loop %bb: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count7.ll b/llvm/test/Analysis/ScalarEvolution/trip-count7.ll index 5e9782ae7da8f..52b4bea68fc8f 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count7.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count7.ll @@ -64,7 +64,7 @@ define void @Doit_bb7_2E_i([9 x i32]* %x1, [15 x i32]* %c, [17 x i32]* %b, [9 x ; CHECK-LABEL: 'Doit_bb7_2E_i' ; CHECK-NEXT: Determining loop execution counts for: @Doit_bb7_2E_i ; CHECK-NEXT: Loop %bb7.i: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %bb7.i: max backedge-taken count is 8 +; CHECK-NEXT: Loop %bb7.i: constant max backedge-taken count is 8 ; CHECK-NEXT: Loop %bb7.i: Unpredictable predicated backedge-taken count. ; newFuncRoot: diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count8.ll b/llvm/test/Analysis/ScalarEvolution/trip-count8.ll index fe666c9dd1c9c..5e20ab25b18b7 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count8.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count8.ll @@ -8,7 +8,7 @@ define i32 @foo(i32 %ecx) nounwind { ; CHECK-LABEL: 'foo' ; CHECK-NEXT: Determining loop execution counts for: @foo ; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %ecx) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %ecx) ; CHECK-NEXT: Predicates: ; CHECK: Loop %for.body: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count9.ll b/llvm/test/Analysis/ScalarEvolution/trip-count9.ll index 767baa96cac71..9593b48ed5e30 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-count9.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-count9.ll @@ -13,7 +13,7 @@ define void @foo(i4 %n) { ; CHECK-LABEL: 'foo' ; CHECK-NEXT: Determining loop execution counts for: @foo ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 6 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 6 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -34,7 +34,7 @@ define void @step2(i4 %n) { ; CHECK-LABEL: 'step2' ; CHECK-NEXT: Determining loop execution counts for: @step2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -53,7 +53,7 @@ define void @start1(i4 %n) { ; CHECK-LABEL: 'start1' ; CHECK-NEXT: Determining loop execution counts for: @start1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-2 + (2 smax %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 5 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 5 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-2 + (2 smax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -74,7 +74,7 @@ define void @start1_step2(i4 %n) { ; CHECK-LABEL: 'start1_step2' ; CHECK-NEXT: Determining loop execution counts for: @start1_step2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -93,7 +93,7 @@ define void @startx(i4 %n, i4 %x) { ; CHECK-LABEL: 'startx' ; CHECK-NEXT: Determining loop execution counts for: @startx ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -114,7 +114,7 @@ define void @startx_step2(i4 %n, i4 %x) { ; CHECK-LABEL: 'startx_step2' ; CHECK-NEXT: Determining loop execution counts for: @startx_step2 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: Unpredictable max backedge-taken count. +; CHECK-NEXT: Loop %loop: Unpredictable constant max backedge-taken count. ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: @@ -133,7 +133,7 @@ define void @nsw(i4 %n) { ; CHECK-LABEL: 'nsw' ; CHECK-NEXT: Determining loop execution counts for: @nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + %n) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 6 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 6 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + %n) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -162,7 +162,7 @@ define void @nsw_step2(i4 %n) { ; CHECK-LABEL: 'nsw_step2' ; CHECK-NEXT: Determining loop execution counts for: @nsw_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 + %n) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 + %n) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -183,7 +183,7 @@ define void @nsw_start1(i4 %n) { ; CHECK-LABEL: 'nsw_start1' ; CHECK-NEXT: Determining loop execution counts for: @nsw_start1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-2 + (2 smax %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 5 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 5 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-2 + (2 smax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -204,7 +204,7 @@ define void @nsw_start1_step2(i4 %n) { ; CHECK-LABEL: 'nsw_start1_step2' ; CHECK-NEXT: Determining loop execution counts for: @nsw_start1_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-2 + (3 smax %n)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-2 + (3 smax %n)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -225,7 +225,7 @@ define void @nsw_startx(i4 %n, i4 %x) { ; CHECK-LABEL: 'nsw_startx' ; CHECK-NEXT: Determining loop execution counts for: @nsw_startx ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -246,7 +246,7 @@ define void @nsw_startx_step2(i4 %n, i4 %x) { ; CHECK-LABEL: 'nsw_startx_step2' ; CHECK-NEXT: Determining loop execution counts for: @nsw_startx_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 + (-1 * %x) + ((2 + %x) smax %n)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 7 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 7 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 + (-1 * %x) + ((2 + %x) smax %n)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -267,7 +267,7 @@ define void @even(i4 %n) { ; CHECK-LABEL: 'even' ; CHECK-NEXT: Determining loop execution counts for: @even ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (2 * %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 5 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 5 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (2 * %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 2 @@ -289,7 +289,7 @@ define void @even_step2(i4 %n) { ; CHECK-LABEL: 'even_step2' ; CHECK-NEXT: Determining loop execution counts for: @even_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 + (2 * %n)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 + (2 * %n)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -311,7 +311,7 @@ define void @even_start1(i4 %n) { ; CHECK-LABEL: 'even_start1' ; CHECK-NEXT: Determining loop execution counts for: @even_start1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-2 + (2 * %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-2 + (2 * %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -333,7 +333,7 @@ define void @even_start1_step2(i4 %n) { ; CHECK-LABEL: 'even_start1_step2' ; CHECK-NEXT: Determining loop execution counts for: @even_start1_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-2 + (2 * %n)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-2 + (2 * %n)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -355,7 +355,7 @@ define void @even_startx(i4 %n, i4 %x) { ; CHECK-LABEL: 'even_startx' ; CHECK-NEXT: Determining loop execution counts for: @even_startx ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax (2 * %n))) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax (2 * %n))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -377,7 +377,7 @@ define void @even_startx_step2(i4 %n, i4 %x) { ; CHECK-LABEL: 'even_startx_step2' ; CHECK-NEXT: Determining loop execution counts for: @even_startx_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 + (-1 * %x) + ((2 + %x) smax (2 * %n))) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 7 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 7 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 + (-1 * %x) + ((2 + %x) smax (2 * %n))) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -399,7 +399,7 @@ define void @even_nsw(i4 %n) { ; CHECK-LABEL: 'even_nsw' ; CHECK-NEXT: Determining loop execution counts for: @even_nsw ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (2 * %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 5 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 5 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (2 * %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 2 @@ -421,7 +421,7 @@ define void @even_nsw_step2(i4 %n) { ; CHECK-LABEL: 'even_nsw_step2' ; CHECK-NEXT: Determining loop execution counts for: @even_nsw_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 + (2 * %n)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 + (2 * %n)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -443,7 +443,7 @@ define void @even_nsw_start1(i4 %n) { ; CHECK-LABEL: 'even_nsw_start1' ; CHECK-NEXT: Determining loop execution counts for: @even_nsw_start1 ; CHECK-NEXT: Loop %loop: backedge-taken count is (-2 + (2 * %n)) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-2 + (2 * %n)) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -465,7 +465,7 @@ define void @even_nsw_start1_step2(i4 %n) { ; CHECK-LABEL: 'even_nsw_start1_step2' ; CHECK-NEXT: Determining loop execution counts for: @even_nsw_start1_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-2 + (2 * %n)) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-2 + (2 * %n)) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -487,7 +487,7 @@ define void @even_nsw_startx(i4 %n, i4 %x) { ; CHECK-LABEL: 'even_nsw_startx' ; CHECK-NEXT: Determining loop execution counts for: @even_nsw_startx ; CHECK-NEXT: Loop %loop: backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax (2 * %n))) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -2 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax (2 * %n))) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -509,7 +509,7 @@ define void @even_nsw_startx_step2(i4 %n, i4 %x) { ; CHECK-LABEL: 'even_nsw_startx_step2' ; CHECK-NEXT: Determining loop execution counts for: @even_nsw_startx_step2 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((-1 + (-1 * %x) + ((2 + %x) smax (2 * %n))) /u 2) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 7 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 7 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((-1 + (-1 * %x) + ((2 + %x) smax (2 * %n))) /u 2) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll b/llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll index e53b333b5c6f9..9c31ab59fa32f 100644 --- a/llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll +++ b/llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll @@ -6,7 +6,7 @@ define void @test_trip_multiple_4(i32 %num) { ; CHECK-LABEL: @test_trip_multiple_4 ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 4 ; @@ -32,7 +32,7 @@ exit: define void @test_trip_multiple_4_ugt_5(i32 %num) { ; CHECK-LABEL: @test_trip_multiple_4_ugt_5 ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 4 ; @@ -58,7 +58,7 @@ define void @test_trip_multiple_4_ugt_5_order_swapped(i32 %num) { ; TODO: Trip multiple can be 4, it is missed due to the processing order of the assumes. ; CHECK-LABEL: @test_trip_multiple_4_ugt_5_order_swapped ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 2 ; @@ -83,7 +83,7 @@ exit: define void @test_trip_multiple_4_sgt_5(i32 %num) { ; CHECK-LABEL: @test_trip_multiple_4_sgt_5 ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483646 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483646 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 4 ; @@ -109,7 +109,7 @@ define void @test_trip_multiple_4_sgt_5_order_swapped(i32 %num) { ; TODO: Trip multiple can be 4, it is missed due to the processing order of the assumes. ; CHECK-LABEL: @test_trip_multiple_4_sgt_5_order_swapped ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483646 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483646 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 2 ; @@ -134,7 +134,7 @@ exit: define void @test_trip_multiple_4_uge_5(i32 %num) { ; CHECK-LABEL: @test_trip_multiple_4_uge_5 ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 4 ; @@ -160,7 +160,7 @@ define void @test_trip_multiple_4_uge_5_order_swapped(i32 %num) { ; TODO: Trip multiple can be 4, it is missed due to the processing order of the assumes. ; CHECK-LABEL: @test_trip_multiple_4_uge_5_order_swapped ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 1 ; @@ -186,7 +186,7 @@ define void @test_trip_multiple_4_sge_5(i32 %num) { ; TODO: Trip multiple can be 4, it is missed due to the processing order of the assumes. ; CHECK-LABEL: @test_trip_multiple_4_sge_5 ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483646 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483646 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 4 ; @@ -211,7 +211,7 @@ exit: define void @test_trip_multiple_4_sge_5_order_swapped(i32 %num) { ; CHECK-LABEL: @test_trip_multiple_4_sge_5_order_swapped ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483646 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is 2147483646 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 1 ; @@ -237,7 +237,7 @@ exit: define void @test_trip_multiple_4_icmp_ops_swapped(i32 %num) { ; CHECK-LABEL: @test_trip_multiple_4_icmp_ops_swapped ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 4 ; @@ -262,7 +262,7 @@ exit: define void @test_trip_multiple_5(i32 %num) { ; CHECK-LABEL: @test_trip_multiple_5 ; CHECK: Loop %for.body: backedge-taken count is (-1 + %num) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -2 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -2 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %num) ; CHECK: Loop %for.body: Trip multiple is 1 ; @@ -287,7 +287,7 @@ exit: define void @test_trunc_operand_larger_than_urem_expr(i64 %N) { ; CHECK-LABEL: @test_trunc_operand_larger_than_urem_expr ; CHECK: Loop %for.body: backedge-taken count is (-1 + %N) -; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1 +; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %for.body: Predicated backedge-taken count is (-1 + %N) ; entry: diff --git a/llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll b/llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll index 219a71e9453ee..83708493cc64c 100644 --- a/llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll +++ b/llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll @@ -16,7 +16,7 @@ define void @umin_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (%cmp1 umin %cmp2) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @umin_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4294967295 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4294967295 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -51,7 +51,7 @@ define void @ule_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (zext i32 %len to i64) U: [0,4294967296) S: [0,4294967296) Exits: (zext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @ule_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4294967295 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4294967295 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -86,7 +86,7 @@ define void @uge_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (sext i32 %len to i64) U: [-2147483648,2147483648) S: [-2147483648,2147483648) Exits: (sext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @uge_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (sext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (sext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -121,7 +121,7 @@ define void @ult_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (zext i32 %len to i64) U: [0,4294967296) S: [0,4294967296) Exits: (zext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @ult_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4294967295 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4294967295 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -156,7 +156,7 @@ define void @ugt_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (sext i32 %len to i64) U: [-2147483648,2147483648) S: [-2147483648,2147483648) Exits: (sext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @ugt_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (sext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (sext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -191,7 +191,7 @@ define void @sle_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (zext i32 %len to i64) U: [0,4294967296) S: [0,4294967296) Exits: (zext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @sle_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4294967295 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4294967295 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -226,7 +226,7 @@ define void @sge_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (zext i32 %len to i64) U: [0,4294967296) S: [0,4294967296) Exits: (zext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @sge_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4294967295 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4294967295 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -261,7 +261,7 @@ define void @slt_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (sext i32 %len to i64) U: [-2147483648,2147483648) S: [-2147483648,2147483648) Exits: (sext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @slt_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (sext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is -1 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (sext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 @@ -296,7 +296,7 @@ define void @sgt_sext_x_zext_x(i32 %len) { ; CHECK-NEXT: --> (zext i32 %len to i64) U: [0,4294967296) S: [0,4294967296) Exits: (zext i32 %len to i64) LoopDispositions: { %loop: Invariant } ; CHECK-NEXT: Determining loop execution counts for: @sgt_sext_x_zext_x ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i32 %len to i64) -; CHECK-NEXT: Loop %loop: max backedge-taken count is 4294967295 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 4294967295 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i32 %len to i64) ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 1 diff --git a/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll b/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll index 3d2c774507dbc..48a2061561129 100644 --- a/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll +++ b/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll @@ -48,7 +48,7 @@ define void @merge_values_with_ranges_looped(i32 *%a_len_ptr, i32 *%b_len_ptr) { ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,101) S: [1,101) Exits: 100 LoopDispositions: { %loop: Computable } ; CHECK-NEXT: Determining loop execution counts for: @merge_values_with_ranges_looped ; CHECK-NEXT: Loop %loop: backedge-taken count is 99 -; CHECK-NEXT: Loop %loop: max backedge-taken count is 99 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 99 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 99 ; CHECK-NEXT: Predicates: ; CHECK: Loop %loop: Trip multiple is 100 diff --git a/llvm/test/Analysis/ScalarEvolution/widenable-condition.ll b/llvm/test/Analysis/ScalarEvolution/widenable-condition.ll index ee5cdcd6754fa..9189eda4619ba 100644 --- a/llvm/test/Analysis/ScalarEvolution/widenable-condition.ll +++ b/llvm/test/Analysis/ScalarEvolution/widenable-condition.ll @@ -23,7 +23,7 @@ define i32 @wc_max() { ; CHECK-NEXT: --> (%cond_1 umin %widenable_cond3) U: full-set S: full-set Exits: <> LoopDispositions: { %loop: Variant } ; CHECK-NEXT: Determining loop execution counts for: @wc_max ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count. -; CHECK-NEXT: Loop %loop: max backedge-taken count is 1999 +; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 1999 ; CHECK-NEXT: Loop %loop: Unpredictable predicated backedge-taken count. ; entry: diff --git a/llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll b/llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll index 27afb44a4ab48..a63280e87532e 100644 --- a/llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll +++ b/llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll @@ -6,7 +6,7 @@ ; CHECK: Determining loop execution counts for: @test ; CHECK-NEXT: Loop %inner: backedge-taken count is (405 + %invar) -; CHECK-NEXT: Loop %inner: max backedge-taken count is 405 +; CHECK-NEXT: Loop %inner: constant max backedge-taken count is 405 ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is (405 + %invar) define void @test_pr57837() { diff --git a/llvm/test/Transforms/LoopSimplify/preserve-scev.ll b/llvm/test/Transforms/LoopSimplify/preserve-scev.ll index 8aa4ce2e93bf5..b967b75d5a62f 100644 --- a/llvm/test/Transforms/LoopSimplify/preserve-scev.ll +++ b/llvm/test/Transforms/LoopSimplify/preserve-scev.ll @@ -13,10 +13,10 @@ target datalayout = "n8:16:32:64" ; CHECK: %[[PHI:.*]] = phi i32 [ 0, %entry ], [ %{{.*}}, %if.then5 ], [ %[[PHI]], %if.end ] ; CHECK-LABEL: Determining loop execution counts for: @test ; CHECK: Loop %for.body18: Unpredictable backedge-taken count. -; CHECK: Loop %for.body18: max backedge-taken count is 2147483646 +; CHECK: Loop %for.body18: constant max backedge-taken count is 2147483646 ; CHECK: Loop %for.body18: Unpredictable predicated backedge-taken count. ; CHECK: Loop %for.cond: Unpredictable backedge-taken count. -; CHECK: Loop %for.cond: Unpredictable max backedge-taken count. +; CHECK: Loop %for.cond: Unpredictable constant max backedge-taken count. ; CHECK: Loop %for.cond: Unpredictable predicated backedge-taken count. ; ; Now simplify the loop, which should cause SCEV to re-compute more precise @@ -25,13 +25,13 @@ target datalayout = "n8:16:32:64" ; CHECK: phi i32 [ %{{.*}}, %if.then5 ], [ 0, %entry ] ; CHECK-LABEL: Determining loop execution counts for: @test ; CHECK: Loop %for.body18: Unpredictable backedge-taken count. -; CHECK: Loop %for.body18: max backedge-taken count is 2147483646 +; CHECK: Loop %for.body18: constant max backedge-taken count is 2147483646 ; CHECK: Loop %for.body18: Unpredictable predicated backedge-taken count. ; CHECK: Loop %for.cond: Unpredictable backedge-taken count. -; CHECK: Loop %for.cond: max backedge-taken count is -2147483647 +; CHECK: Loop %for.cond: constant max backedge-taken count is -2147483647 ; CHECK: Loop %for.cond: Unpredictable predicated backedge-taken count. ; CHECK: Loop %for.cond.outer: Unpredictable backedge-taken count. -; CHECK: Loop %for.cond.outer: Unpredictable max backedge-taken count. +; CHECK: Loop %for.cond.outer: Unpredictable constant max backedge-taken count. ; CHECK: Loop %for.cond.outer: Unpredictable predicated backedge-taken count. define i32 @test() nounwind { entry: @@ -82,20 +82,20 @@ declare void @foo() nounwind ; First SCEV print: ; CHECK-LABEL: Determining loop execution counts for: @mergeExit ; CHECK: Loop %while.cond191: Unpredictable backedge-taken count. -; CHECK: Loop %while.cond191: max backedge-taken count is -1 +; CHECK: Loop %while.cond191: constant max backedge-taken count is -1 ; CHECK: Loop %while.cond191: Unpredictable predicated backedge-taken count. ; CHECK: Loop %while.cond191.outer: Unpredictable backedge-taken count. -; CHECK: Loop %while.cond191.outer: Unpredictable max backedge-taken count. +; CHECK: Loop %while.cond191.outer: Unpredictable constant max backedge-taken count. ; CHECK: Loop %while.cond191.outer: Unpredictable predicated backedge-taken count. ; ; After simplifying, the max backedge count is refined. ; Second SCEV print: ; CHECK-LABEL: Determining loop execution counts for: @mergeExit ; CHECK: Loop %while.cond191: backedge-taken count is 0 -; CHECK: Loop %while.cond191: max backedge-taken count is 0 +; CHECK: Loop %while.cond191: constant max backedge-taken count is 0 ; CHECK: Loop %while.cond191: Predicated backedge-taken count is 0 ; CHECK: Loop %while.cond191.outer: Unpredictable backedge-taken count. -; CHECK: Loop %while.cond191.outer: max backedge-taken count is false +; CHECK: Loop %while.cond191.outer: constant max backedge-taken count is false ; CHECK: Loop %while.cond191.outer: Unpredictable predicated backedge-taken count. define void @mergeExit(i32 %MapAttrCount) nounwind uwtable ssp { entry: diff --git a/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll b/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll index 3b8393f10b594..9f3fadc7650ec 100644 --- a/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll +++ b/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll @@ -114,7 +114,7 @@ declare void @use(i1) declare void @llvm.experimental.guard(i1, ...) ; This tests getRangeRef acts as intended with different idx size. -; CHECK: Loop %loop: Unpredictable max backedge-taken count. +; CHECK: Loop %loop: Unpredictable constant max backedge-taken count. define void @test_range_ref1(i8 %t) { entry: %t.ptr = inttoptr i8 %t to i8*