[llvm] 0d38f21 - [SCEV] Extend type hint in analysis output to all backedge kinds

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 6 13:08:14 PST 2024


Author: Philip Reames
Date: 2024-03-06T13:08:05-08:00
New Revision: 0d38f21e4ab7fe7cebe76a9d7c218ec54dba1e98

URL: https://github.com/llvm/llvm-project/commit/0d38f21e4ab7fe7cebe76a9d7c218ec54dba1e98
DIFF: https://github.com/llvm/llvm-project/commit/0d38f21e4ab7fe7cebe76a9d7c218ec54dba1e98.diff

LOG: [SCEV] Extend type hint in analysis output to all backedge kinds

This extends the work from 7755c26 to all of the different backend
taken count kinds that we print for the scev analysis printer.  As
before, the goal is to cut down on confusion as i4 -1 is a very
different (unsigned) value from i32 -1.

Added: 
    

Modified: 
    llvm/lib/Analysis/ScalarEvolution.cpp
    llvm/test/Analysis/ScalarEvolution/2007-07-15-NegativeStride.ll
    llvm/test/Analysis/ScalarEvolution/2007-09-27-LargeStepping.ll
    llvm/test/Analysis/ScalarEvolution/2008-05-25-NegativeStepToZero.ll
    llvm/test/Analysis/ScalarEvolution/2008-07-19-WrappingIV.ll
    llvm/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll
    llvm/test/Analysis/ScalarEvolution/2009-05-09-PointerEdgeCount.ll
    llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
    llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
    llvm/test/Analysis/ScalarEvolution/alloca.ll
    llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
    llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
    llvm/test/Analysis/ScalarEvolution/exact_iter_count.ll
    llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
    llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
    llvm/test/Analysis/ScalarEvolution/exit-count-select.ll
    llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll
    llvm/test/Analysis/ScalarEvolution/fold.ll
    llvm/test/Analysis/ScalarEvolution/huge-trip-multiple.ll
    llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
    llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
    llvm/test/Analysis/ScalarEvolution/invalidation.ll
    llvm/test/Analysis/ScalarEvolution/load.ll
    llvm/test/Analysis/ScalarEvolution/logical-operations.ll
    llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
    llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    llvm/test/Analysis/ScalarEvolution/max-trip-count.ll
    llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    llvm/test/Analysis/ScalarEvolution/nsw.ll
    llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll
    llvm/test/Analysis/ScalarEvolution/pr25369.ll
    llvm/test/Analysis/ScalarEvolution/pr34538.ll
    llvm/test/Analysis/ScalarEvolution/pr48225.ll
    llvm/test/Analysis/ScalarEvolution/range-signedness.ll
    llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll
    llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
    llvm/test/Analysis/ScalarEvolution/shift-op.ll
    llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
    llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll
    llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
    llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
    llvm/test/Analysis/ScalarEvolution/solve-quadratic.ll
    llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll
    llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll
    llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
    llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
    llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
    llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll
    llvm/test/Analysis/ScalarEvolution/trip-count.ll
    llvm/test/Analysis/ScalarEvolution/trip-count10.ll
    llvm/test/Analysis/ScalarEvolution/trip-count2.ll
    llvm/test/Analysis/ScalarEvolution/trip-count6.ll
    llvm/test/Analysis/ScalarEvolution/trip-count7.ll
    llvm/test/Analysis/ScalarEvolution/unknown_phis.ll
    llvm/test/Analysis/ScalarEvolution/widenable-condition.ll
    llvm/test/Transforms/LoopSimplify/preserve-scev.ll
    llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
    llvm/test/Transforms/SimpleLoopUnswitch/update-scev-2.ll

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index 57e3619ed84e19..15c2965aede1a0 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -13469,6 +13469,14 @@ bool ScalarEvolution::hasLoopInvariantBackedgeTakenCount(const Loop *L) {
   return !isa<SCEVCouldNotCompute>(getBackedgeTakenCount(L));
 }
 
+/// When printing a top-level SCEV for trip counts, it's helpful to include
+/// a type for constants which are otherwise hard to disambiguate.
+static void PrintSCEVWithTypeHint(raw_ostream &OS, const SCEV* S) {
+  if (isa<SCEVConstant>(S))
+    OS << *S->getType() << " ";
+  OS << *S;
+}
+
 static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE,
                           const Loop *L) {
   // Print all inner loops first
@@ -13485,15 +13493,18 @@ static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE,
     OS << "<multiple exits> ";
 
   auto *BTC = SE->getBackedgeTakenCount(L);
-  if (!isa<SCEVCouldNotCompute>(BTC))
-    OS << "backedge-taken count is " << *BTC << "\n";
-  else
-    OS << "Unpredictable backedge-taken count.\n";
+  if (!isa<SCEVCouldNotCompute>(BTC)) {
+    OS << "backedge-taken count is ";
+    PrintSCEVWithTypeHint(OS, BTC);
+  } else
+    OS << "Unpredictable backedge-taken count.";
+  OS << "\n";
 
   if (ExitingBlocks.size() > 1)
     for (BasicBlock *ExitingBlock : ExitingBlocks) {
-      OS << "  exit count for " << ExitingBlock->getName() << ": "
-         << *SE->getExitCount(L, ExitingBlock) << "\n";
+      OS << "  exit count for " << ExitingBlock->getName() << ": ";
+      PrintSCEVWithTypeHint(OS, SE->getExitCount(L, ExitingBlock));
+      OS << "\n";
     }
 
   OS << "Loop ";
@@ -13502,8 +13513,8 @@ static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE,
 
   auto *ConstantBTC = SE->getConstantMaxBackedgeTakenCount(L);
   if (!isa<SCEVCouldNotCompute>(ConstantBTC)) {
-    OS << "constant max backedge-taken count is "
-       << *ConstantBTC->getType() << " " << *ConstantBTC;
+    OS << "constant max backedge-taken count is ";
+    PrintSCEVWithTypeHint(OS, ConstantBTC);
     if (SE->isBackedgeTakenCountMaxOrZero(L))
       OS << ", actual taken count either this or zero.";
   } else {
@@ -13517,19 +13528,22 @@ static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE,
 
   auto *SymbolicBTC = SE->getSymbolicMaxBackedgeTakenCount(L);
   if (!isa<SCEVCouldNotCompute>(SymbolicBTC)) {
-    OS << "symbolic max backedge-taken count is " << *SymbolicBTC;
+    OS << "symbolic max backedge-taken count is ";
+    PrintSCEVWithTypeHint(OS, SymbolicBTC);
     if (SE->isBackedgeTakenCountMaxOrZero(L))
       OS << ", actual taken count either this or zero.";
   } else {
     OS << "Unpredictable symbolic max backedge-taken count. ";
   }
-
   OS << "\n";
+
   if (ExitingBlocks.size() > 1)
     for (BasicBlock *ExitingBlock : ExitingBlocks) {
-      OS << "  symbolic max exit count for " << ExitingBlock->getName() << ": "
-         << *SE->getExitCount(L, ExitingBlock, ScalarEvolution::SymbolicMaximum)
-         << "\n";
+      OS << "  symbolic max exit count for " << ExitingBlock->getName() << ": ";
+      auto *ExitBTC = SE->getExitCount(L, ExitingBlock,
+                                       ScalarEvolution::SymbolicMaximum);
+      PrintSCEVWithTypeHint(OS, ExitBTC);
+      OS << "\n";
     }
 
   SmallVector<const SCEVPredicate *, 4> Preds;
@@ -13538,10 +13552,12 @@ static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE,
     OS << "Loop ";
     L->getHeader()->printAsOperand(OS, /*PrintType=*/false);
     OS << ": ";
-    if (!isa<SCEVCouldNotCompute>(PBT))
-      OS << "Predicated backedge-taken count is " << *PBT << "\n";
-    else
-      OS << "Unpredictable predicated backedge-taken count.\n";
+    if (!isa<SCEVCouldNotCompute>(PBT)) {
+      OS << "Predicated backedge-taken count is ";
+      PrintSCEVWithTypeHint(OS, PBT);
+    } else
+      OS << "Unpredictable predicated backedge-taken count.";
+    OS << "\n";
     OS << " Predicates:\n";
     for (const auto *P : Preds)
       P->print(OS, 4);

diff  --git a/llvm/test/Analysis/ScalarEvolution/2007-07-15-NegativeStride.ll b/llvm/test/Analysis/ScalarEvolution/2007-07-15-NegativeStride.ll
index aade3499dba17a..bee5d9df98d509 100644
--- a/llvm/test/Analysis/ScalarEvolution/2007-07-15-NegativeStride.ll
+++ b/llvm/test/Analysis/ScalarEvolution/2007-07-15-NegativeStride.ll
@@ -8,9 +8,9 @@
 define void @loop(i32 %x) {
 ; CHECK-LABEL: 'loop'
 ; CHECK-NEXT:  Determining loop execution counts for: @loop
-; CHECK-NEXT:  Loop %bb: backedge-taken count is 100
+; CHECK-NEXT:  Loop %bb: backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %bb: constant max backedge-taken count is i32 100
-; CHECK-NEXT:  Loop %bb: symbolic max backedge-taken count is 100
+; CHECK-NEXT:  Loop %bb: symbolic max backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %bb: Trip multiple is 101
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/2007-09-27-LargeStepping.ll b/llvm/test/Analysis/ScalarEvolution/2007-09-27-LargeStepping.ll
index f79d5daee7416c..8266b080af24c0 100644
--- a/llvm/test/Analysis/ScalarEvolution/2007-09-27-LargeStepping.ll
+++ b/llvm/test/Analysis/ScalarEvolution/2007-09-27-LargeStepping.ll
@@ -6,9 +6,9 @@
 define i32 @f() {
 ; CHECK-LABEL: 'f'
 ; CHECK-NEXT:  Determining loop execution counts for: @f
-; CHECK-NEXT:  Loop %bb5: backedge-taken count is 13
+; CHECK-NEXT:  Loop %bb5: backedge-taken count is i32 13
 ; CHECK-NEXT:  Loop %bb5: constant max backedge-taken count is i32 13
-; CHECK-NEXT:  Loop %bb5: symbolic max backedge-taken count is 13
+; CHECK-NEXT:  Loop %bb5: symbolic max backedge-taken count is i32 13
 ; CHECK-NEXT:  Loop %bb5: Trip multiple is 14
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/2008-05-25-NegativeStepToZero.ll b/llvm/test/Analysis/ScalarEvolution/2008-05-25-NegativeStepToZero.ll
index a9545f436b89ee..c8e876a61a8419 100644
--- a/llvm/test/Analysis/ScalarEvolution/2008-05-25-NegativeStepToZero.ll
+++ b/llvm/test/Analysis/ScalarEvolution/2008-05-25-NegativeStepToZero.ll
@@ -6,9 +6,9 @@
 define i32 @func_6() nounwind  {
 ; CHECK-LABEL: 'func_6'
 ; CHECK-NEXT:  Determining loop execution counts for: @func_6
-; CHECK-NEXT:  Loop %bb5: backedge-taken count is 61
+; CHECK-NEXT:  Loop %bb5: backedge-taken count is i8 61
 ; CHECK-NEXT:  Loop %bb5: constant max backedge-taken count is i8 61
-; CHECK-NEXT:  Loop %bb5: symbolic max backedge-taken count is 61
+; CHECK-NEXT:  Loop %bb5: symbolic max backedge-taken count is i8 61
 ; CHECK-NEXT:  Loop %bb5: Trip multiple is 62
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/2008-07-19-WrappingIV.ll b/llvm/test/Analysis/ScalarEvolution/2008-07-19-WrappingIV.ll
index 45fe08a340ebdb..062611c78ebfe4 100644
--- a/llvm/test/Analysis/ScalarEvolution/2008-07-19-WrappingIV.ll
+++ b/llvm/test/Analysis/ScalarEvolution/2008-07-19-WrappingIV.ll
@@ -6,9 +6,9 @@
 define void @fun() {
 ; CHECK-LABEL: 'fun'
 ; CHECK-NEXT:  Determining loop execution counts for: @fun
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 113
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i8 113
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i8 113
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 113
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i8 113
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 114
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll b/llvm/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll
index fab2e5495653d1..cdf62db221517a 100644
--- a/llvm/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll
+++ b/llvm/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll
@@ -5,9 +5,9 @@
 define i32 @foo(i32 %x, i32 %y, ptr %lam, ptr %alp) nounwind {
 ; CHECK-LABEL: 'foo'
 ; CHECK-NEXT:  Determining loop execution counts for: @foo
-; CHECK-NEXT:  Loop %bb1: backedge-taken count is 255
+; CHECK-NEXT:  Loop %bb1: backedge-taken count is i32 255
 ; CHECK-NEXT:  Loop %bb1: constant max backedge-taken count is i32 255
-; CHECK-NEXT:  Loop %bb1: symbolic max backedge-taken count is 255
+; CHECK-NEXT:  Loop %bb1: symbolic max backedge-taken count is i32 255
 ; CHECK-NEXT:  Loop %bb1: Trip multiple is 256
 ;
 bb1.thread:

diff  --git a/llvm/test/Analysis/ScalarEvolution/2009-05-09-PointerEdgeCount.ll b/llvm/test/Analysis/ScalarEvolution/2009-05-09-PointerEdgeCount.ll
index c683fbaa9aefcd..54151318621256 100644
--- a/llvm/test/Analysis/ScalarEvolution/2009-05-09-PointerEdgeCount.ll
+++ b/llvm/test/Analysis/ScalarEvolution/2009-05-09-PointerEdgeCount.ll
@@ -11,9 +11,9 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
 define void @_Z3foov() nounwind {
 ; CHECK-LABEL: '_Z3foov'
 ; CHECK-NEXT:  Determining loop execution counts for: @_Z3foov
-; CHECK-NEXT:  Loop %bb1.i: backedge-taken count is 2
+; CHECK-NEXT:  Loop %bb1.i: backedge-taken count is i64 2
 ; CHECK-NEXT:  Loop %bb1.i: constant max backedge-taken count is i64 2
-; CHECK-NEXT:  Loop %bb1.i: symbolic max backedge-taken count is 2
+; CHECK-NEXT:  Loop %bb1.i: symbolic max backedge-taken count is i64 2
 ; CHECK-NEXT:  Loop %bb1.i: Trip multiple is 3
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll b/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
index d87c2cf466a6f3..422a0b8cecf3fa 100644
--- a/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
+++ b/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
@@ -8,9 +8,9 @@
 define void @test1(i32 %N) {
 ; CHECK-LABEL: 'test1'
 ; CHECK-NEXT:  Determining loop execution counts for: @test1
-; CHECK-NEXT:  Loop %bb3: backedge-taken count is 100
+; CHECK-NEXT:  Loop %bb3: backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %bb3: constant max backedge-taken count is i32 100
-; CHECK-NEXT:  Loop %bb3: symbolic max backedge-taken count is 100
+; CHECK-NEXT:  Loop %bb3: symbolic max backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %bb3: Trip multiple is 101
 ;
 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 411affc344c574..aab2c49e2973de 100644
--- a/llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
+++ b/llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
@@ -28,10 +28,10 @@ define void @test(ptr %p) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test
 ; CHECK-NEXT:  Loop %loop2: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop2: constant max backedge-taken count is i32 -1
-; CHECK-NEXT:  Loop %loop2: symbolic max backedge-taken count is -1
-; CHECK-NEXT:  Loop %loop3: backedge-taken count is false
+; CHECK-NEXT:  Loop %loop2: symbolic max backedge-taken count is i32 -1
+; CHECK-NEXT:  Loop %loop3: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop3: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop3: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop3: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop3: Trip multiple is 1
 ; CHECK-NEXT:  Loop %loop.header: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop.header: Unpredictable constant max backedge-taken count.

diff  --git a/llvm/test/Analysis/ScalarEvolution/alloca.ll b/llvm/test/Analysis/ScalarEvolution/alloca.ll
index 39d43e7aaa4f45..d4e00c69dcf648 100644
--- a/llvm/test/Analysis/ScalarEvolution/alloca.ll
+++ b/llvm/test/Analysis/ScalarEvolution/alloca.ll
@@ -43,9 +43,9 @@ define void @alloca_icmp_null_exit_count() {
 ; CHECK-NEXT:    %and = and i1 %cmp1, %cmp2
 ; CHECK-NEXT:    --> (%cmp2 umin %cmp1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
 ; CHECK-NEXT:  Determining loop execution counts for: @alloca_icmp_null_exit_count
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 2
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i64 2
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 2
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 2
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 2
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 3
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll b/llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
index b78438b9bd6707..1f475e80e5629d 100644
--- a/llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
+++ b/llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
@@ -13,9 +13,9 @@ define void @loop_guard_improves_exact_backedge_taken_count_1(i32 %conv) {
 ; CHECK-NEXT:    %iv.next = add i64 %iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%loop> U: [1,2) S: [1,2) Exits: 1 LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @loop_guard_improves_exact_backedge_taken_count_1
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll b/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
index b1cd95f1990c7e..0e37cf5efe3e46 100644
--- a/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
+++ b/llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
@@ -29,11 +29,11 @@ define void @test(ptr %arg) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test
 ; CHECK-NEXT:  Loop %loop2.header: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:    exit count for loop2.header: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    exit count for loop2.latch: false
+; CHECK-NEXT:    exit count for loop2.latch: i1 false
 ; CHECK-NEXT:  Loop %loop2.header: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop2.header: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop2.header: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:    symbolic max exit count for loop2.header: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    symbolic max exit count for loop2.latch: false
+; CHECK-NEXT:    symbolic max exit count for loop2.latch: i1 false
 ; CHECK-NEXT:  Loop %loop.header: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop.header: Unpredictable constant max backedge-taken count.
 ; CHECK-NEXT:  Loop %loop.header: Unpredictable symbolic max backedge-taken count.

diff  --git a/llvm/test/Analysis/ScalarEvolution/exact_iter_count.ll b/llvm/test/Analysis/ScalarEvolution/exact_iter_count.ll
index 9e6c6aa651b079..ff49ab280e8915 100644
--- a/llvm/test/Analysis/ScalarEvolution/exact_iter_count.ll
+++ b/llvm/test/Analysis/ScalarEvolution/exact_iter_count.ll
@@ -5,13 +5,13 @@
 define void @test_01() {
 ; CHECK-LABEL: 'test_01'
 ; CHECK-NEXT:  Determining loop execution counts for: @test_01
-; CHECK-NEXT:  Loop %loop: <multiple exits> backedge-taken count is 50
-; CHECK-NEXT:    exit count for loop: 50
-; CHECK-NEXT:    exit count for backedge: 100
+; CHECK-NEXT:  Loop %loop: <multiple exits> backedge-taken count is i32 50
+; CHECK-NEXT:    exit count for loop: i32 50
+; CHECK-NEXT:    exit count for backedge: i32 100
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 50
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 50
-; CHECK-NEXT:    symbolic max exit count for loop: 50
-; CHECK-NEXT:    symbolic max exit count for backedge: 100
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 50
+; CHECK-NEXT:    symbolic max exit count for loop: i32 50
+; CHECK-NEXT:    symbolic max exit count for backedge: i32 100
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -37,13 +37,13 @@ side.exit:
 define void @test_02(i1 %c) {
 ; CHECK-LABEL: 'test_02'
 ; CHECK-NEXT:  Determining loop execution counts for: @test_02
-; CHECK-NEXT:  Loop %loop: <multiple exits> backedge-taken count is 50
-; CHECK-NEXT:    exit count for merge: 50
-; CHECK-NEXT:    exit count for backedge: 100
+; CHECK-NEXT:  Loop %loop: <multiple exits> backedge-taken count is i32 50
+; CHECK-NEXT:    exit count for merge: i32 50
+; CHECK-NEXT:    exit count for backedge: i32 100
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 50
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 50
-; CHECK-NEXT:    symbolic max exit count for merge: 50
-; CHECK-NEXT:    symbolic max exit count for backedge: 100
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 50
+; CHECK-NEXT:    symbolic max exit count for merge: i32 50
+; CHECK-NEXT:    symbolic max exit count for backedge: i32 100
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll b/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
index 03c46f4826c68e..21237f4266933f 100644
--- a/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
+++ b/llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
@@ -8,9 +8,9 @@ define void @f_0() {
 ;
 ; CHECK-LABEL: 'f_0'
 ; CHECK-NEXT:  Determining loop execution counts for: @f_0
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 5
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i32 5
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 5
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 5
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 5
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 6
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll b/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
index 5b32b3ad246aa8..1043b2f6f56f6b 100644
--- a/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
+++ b/llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
@@ -451,9 +451,9 @@ define i32 @computeSCEVAtScope(i32 %d.0) {
 ; CHECK-NEXT:  Loop %for.cond: constant max backedge-taken count is i32 -1
 ; CHECK-NEXT:  Loop %for.cond: symbolic max backedge-taken count is (-1 * %d.0)
 ; CHECK-NEXT:  Loop %for.cond: Trip multiple is 1
-; CHECK-NEXT:  Loop %for.cond4: backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.cond4: backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %for.cond4: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %for.cond4: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.cond4: symbolic max backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %for.cond4: Trip multiple is 1
 ; CHECK-NEXT:  Loop %while.cond: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %while.cond: Unpredictable constant max backedge-taken count.
@@ -1249,9 +1249,9 @@ define i32 @logical_and_zero_arg1(i32 %n) {
 ; CHECK-NEXT:    %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
 ; 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: backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -1277,9 +1277,9 @@ define i32 @logical_and_zero_arg2(i32 %n) {
 ; CHECK-NEXT:    %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
 ; CHECK-NEXT:    --> (%cond_p1 umin %cond_p0) 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: backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll b/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll
index d9ca46ba67874c..6922c90158d8af 100644
--- a/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll
+++ b/llvm/test/Analysis/ScalarEvolution/exit-count-select.ll
@@ -74,9 +74,9 @@ define void @logical_and_zero(i32 %m) {
 ; CHECK-NEXT:    %cond = select i1 %cond_i, i1 %cond_i2, i1 false
 ; 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: backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -196,9 +196,9 @@ define void @logical_or_zero(i32 %m) {
 ; CHECK-NEXT:    %cond = select i1 %cond_i, i1 true, i1 %cond_i2
 ; 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: backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll b/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll
index 0b1854ecbd2e0a..397e1d5efcc73d 100644
--- a/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll
+++ b/llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll
@@ -6,11 +6,11 @@ define void @f(i32 %n, ptr %ptr) {
 ; CHECK-LABEL: 'f'
 ; CHECK-NEXT:  Determining loop execution counts for: @f
 ; CHECK-NEXT:  Loop %loop: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for loop: 0
+; CHECK-NEXT:    exit count for loop: i32 0
 ; CHECK-NEXT:    exit count for be: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
-; CHECK-NEXT:    symbolic max exit count for loop: 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 0
+; CHECK-NEXT:    symbolic max exit count for loop: i32 0
 ; CHECK-NEXT:    symbolic max exit count for be: ***COULDNOTCOMPUTE***
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/fold.ll b/llvm/test/Analysis/ScalarEvolution/fold.ll
index 3b6df8e6d0a56f..670523ca1bb5b9 100644
--- a/llvm/test/Analysis/ScalarEvolution/fold.ll
+++ b/llvm/test/Analysis/ScalarEvolution/fold.ll
@@ -77,9 +77,9 @@ define void @test4(i32 %x, i32 %y) {
 ; CHECK-NEXT:    %I = add i32 %A, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%loop> U: [1,22) S: [1,22) Exits: 21 LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @test4
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 20
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i32 20
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 20
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 20
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 20
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 21
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/huge-trip-multiple.ll b/llvm/test/Analysis/ScalarEvolution/huge-trip-multiple.ll
index 2825dc4d121502..32b4d035b8becd 100644
--- a/llvm/test/Analysis/ScalarEvolution/huge-trip-multiple.ll
+++ b/llvm/test/Analysis/ScalarEvolution/huge-trip-multiple.ll
@@ -14,9 +14,9 @@ define void @trip_count_4294967295() {
 ; CHECK-NEXT:    %add = add nuw nsw i64 %i.02, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%for.body> U: [1,4294967296) S: [1,4294967296) Exits: 4294967295 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @trip_count_4294967295
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 4294967294
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 4294967294
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 4294967294
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 4294967294
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 4294967294
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 4294967295
 ;
 entry:
@@ -41,9 +41,9 @@ define void @trip_count_4294967296() {
 ; CHECK-NEXT:    %add = add nuw nsw i64 %i.02, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%for.body> U: [1,4294967297) S: [1,4294967297) Exits: 4294967296 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @trip_count_4294967296
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 4294967295
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 4294967295
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 4294967295
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 4294967295
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 4294967295
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2147483648
 ;
 entry:
@@ -68,9 +68,9 @@ define void @trip_count_8589935692() {
 ; CHECK-NEXT:    %add = add nuw nsw i64 %i.02, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%for.body> U: [1,8589934593) S: [1,8589934593) Exits: 8589934592 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @trip_count_8589935692
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 8589934591
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 8589934591
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 8589934591
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 8589934591
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 8589934591
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2147483648
 ;
 entry:
@@ -95,9 +95,9 @@ define void @trip_count_9223372036854775808() {
 ; CHECK-NEXT:    %add = add nuw nsw i64 %i.02, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><%for.body> U: [1,-9223372036854775807) S: [1,-9223372036854775807) Exits: -9223372036854775808 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @trip_count_9223372036854775808
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 9223372036854775807
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 9223372036854775807
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 9223372036854775807
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 9223372036854775807
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 9223372036854775807
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2147483648
 ;
 entry:
@@ -122,9 +122,9 @@ define void @trip_count_18446744073709551615() {
 ; CHECK-NEXT:    %add = add nuw nsw i64 %i.02, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><%for.body> U: [1,0) S: [1,0) Exits: -1 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @trip_count_18446744073709551615
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is -2
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 -2
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 -2
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is -2
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 -2
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll b/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
index f7cec4996e8f33..b456f11bade6b4 100644
--- a/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
+++ b/llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
@@ -58,28 +58,28 @@ define dso_local i32 @f() {
 ; CHECK-NEXT:    --> {2,+,-1}<nsw><%outer.loop> U: [0,3) S: [0,3) Exits: <<Unknown>> LoopDispositions: { %outer.loop: Computable, %for.cond6: Invariant, %inner.loop: Invariant }
 ; CHECK-NEXT:  Determining loop execution counts for: @f
 ; CHECK-NEXT:  Loop %for.cond6: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for for.cond6: 0
+; CHECK-NEXT:    exit count for for.cond6: i32 0
 ; CHECK-NEXT:    exit count for for.end: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %for.cond6: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %for.cond6: symbolic max backedge-taken count is 0
-; CHECK-NEXT:    symbolic max exit count for for.cond6: 0
+; CHECK-NEXT:  Loop %for.cond6: symbolic max backedge-taken count is i32 0
+; CHECK-NEXT:    symbolic max exit count for for.cond6: i32 0
 ; CHECK-NEXT:    symbolic max exit count for for.end: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %inner.loop: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for inner.loop: 0
+; CHECK-NEXT:    exit count for inner.loop: i32 0
 ; CHECK-NEXT:    exit count for for.end.3: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %inner.loop: constant max backedge-taken count is i32 0
-; CHECK-NEXT:  Loop %inner.loop: symbolic max backedge-taken count is 0
-; CHECK-NEXT:    symbolic max exit count for inner.loop: 0
+; CHECK-NEXT:  Loop %inner.loop: symbolic max backedge-taken count is i32 0
+; CHECK-NEXT:    symbolic max exit count for inner.loop: i32 0
 ; CHECK-NEXT:    symbolic max exit count for for.end.3: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %outer.loop: <multiple exits> 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:    exit count for for.inc13.3: i32 2
 ; CHECK-NEXT:  Loop %outer.loop: constant max backedge-taken count is i32 2
-; CHECK-NEXT:  Loop %outer.loop: symbolic max backedge-taken count is 2
+; CHECK-NEXT:  Loop %outer.loop: symbolic max backedge-taken count is i32 2
 ; CHECK-NEXT:    symbolic max exit count for for.cond6: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:    symbolic max exit count for inner.loop: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    symbolic max exit count for for.inc13.3: 2
+; CHECK-NEXT:    symbolic max exit count for for.inc13.3: i32 2
 ;
 entry:
   store i32 3, ptr @a, align 4

diff  --git a/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll b/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
index 69bede4434b51e..2264bfe4fce6c3 100644
--- a/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
+++ b/llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
@@ -17,9 +17,9 @@ define void @f0(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i32 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i32 127
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 127
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 127
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 127
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 128
 ;
 entry:
@@ -83,9 +83,9 @@ define void @f1(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i32 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i32 15
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 15
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 15
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 15
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 16
 ;
 entry:
@@ -142,9 +142,9 @@ define void @f2(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i32 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i32 127
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 127
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 127
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 127
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 128
 ;
 entry:
@@ -183,9 +183,9 @@ define void @f3(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i16 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i16 127
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 127
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 128
 ;
 entry:
@@ -231,9 +231,9 @@ define void @f4(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i32 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i32 127
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 127
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 127
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 127
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 128
 ;
 
@@ -273,9 +273,9 @@ define void @f5(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i16 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i16 127
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 127
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 128
 ;
 entry:
@@ -317,9 +317,9 @@ define void @f6(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i16 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i16 127
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 127
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 128
 ;
 entry:
@@ -364,9 +364,9 @@ define void @f7(i1 %c) {
 ; CHECK-NEXT:    %loop.iv.inc = add i16 %loop.iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i16 127
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 127
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i16 127
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 128
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/invalidation.ll b/llvm/test/Analysis/ScalarEvolution/invalidation.ll
index 959720d2d6e47e..6f5f977bc26ecd 100644
--- a/llvm/test/Analysis/ScalarEvolution/invalidation.ll
+++ b/llvm/test/Analysis/ScalarEvolution/invalidation.ll
@@ -39,7 +39,7 @@ target triple = "x86_64-unknown-linux-gnu"
 ; debug pass printing continuing to match, ASan and other tools can catch it.
 define void @test(i32 %n) {
 ; CHECK-LABEL: Classifying expressions for: @test
-; CHECK: Loop %loop: backedge-taken count is 14
+; CHECK: Loop %loop: backedge-taken count is i32 14
 ; CHECK: Loop %loop: constant max backedge-taken count is i32 14
 
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/load.ll b/llvm/test/Analysis/ScalarEvolution/load.ll
index 6bcb09b3bb61e6..0f0bc1ef1bf25a 100644
--- a/llvm/test/Analysis/ScalarEvolution/load.ll
+++ b/llvm/test/Analysis/ScalarEvolution/load.ll
@@ -30,9 +30,9 @@ define i32 @test1() nounwind readnone {
 ; CHECK-NEXT:    %inc = add nsw i32 %i.03, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i32 49
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 49
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 49
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 49
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 50
 ;
 entry:
@@ -82,9 +82,9 @@ define i32 @test2() nounwind uwtable readonly {
 ; CHECK-NEXT:    %1 = load ptr, ptr %next, align 8
 ; 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: backedge-taken count is i32 4
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 4
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 4
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 5
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/logical-operations.ll b/llvm/test/Analysis/ScalarEvolution/logical-operations.ll
index b8ed560a49deae..8f836384d7fcd6 100644
--- a/llvm/test/Analysis/ScalarEvolution/logical-operations.ll
+++ b/llvm/test/Analysis/ScalarEvolution/logical-operations.ll
@@ -431,9 +431,9 @@ define ptr @tautological_select_like_phi(i32 %tc) {
 ; CHECK-NEXT:    %iv.next = add i32 %iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 100
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 100
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 101
 ;
 entry:

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 81b08694bd79b7..58044915ae87a9 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
@@ -244,9 +244,9 @@ define i32 @rewrite_zext_with_info_from_icmp_ne(i32 %N) {
 ; CHECK-NEXT:    %iv.next = add i64 %iv, 4
 ; CHECK-NEXT:    --> {4,+,4}<nuw><nsw><%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: backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:

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 845494460b2386..413bd21554c98d 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
@@ -1549,9 +1549,9 @@ define i32 @ptr_induction_ult_1(ptr %a, ptr %b) {
 ; CHECK-NEXT:    %ptr.iv.next = getelementptr i32, ptr %ptr.iv, i64 1
 ; CHECK-NEXT:    --> {(4 + %a),+,4}<nw><%loop> U: full-set S: full-set Exits: (4 + %a) LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @ptr_induction_ult_1
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -1607,9 +1607,9 @@ define void @gep_addrec_nw(ptr %a) {
 ; CHECK-NEXT:    %uglygep2 = getelementptr i8, ptr %lsr.iv1, i64 4
 ; CHECK-NEXT:    --> {(4 + %a),+,4}<nw><%for.body> U: full-set S: full-set Exits: (1516 + %a) LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @gep_addrec_nw
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 378
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 378
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 378
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 378
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 378
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 379
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll b/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll
index 45552b13ed4f54..501aa963f9294d 100644
--- a/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll
+++ b/llvm/test/Analysis/ScalarEvolution/max-trip-count.ll
@@ -53,11 +53,11 @@ define i32 @main() nounwind {
 ; CHECK-LABEL: 'main'
 ; CHECK-NEXT:  Determining loop execution counts for: @main
 ; CHECK-NEXT:  Loop %for.cond: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for for.cond: 5
+; CHECK-NEXT:    exit count for for.cond: i32 5
 ; CHECK-NEXT:    exit count for for.body: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %for.cond: constant max backedge-taken count is i32 5
-; CHECK-NEXT:  Loop %for.cond: symbolic max backedge-taken count is 5
-; CHECK-NEXT:    symbolic max exit count for for.cond: 5
+; CHECK-NEXT:  Loop %for.cond: symbolic max backedge-taken count is i32 5
+; CHECK-NEXT:    symbolic max exit count for for.cond: i32 5
 ; CHECK-NEXT:    symbolic max exit count for for.body: ***COULDNOTCOMPUTE***
 ;
 entry:
@@ -126,11 +126,11 @@ define i32 @pr19799() {
 ; CHECK-NEXT:  Determining loop execution counts for: @pr19799
 ; CHECK-NEXT:  Loop %for.body.i: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:    exit count for for.body.i: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    exit count for for.cond.i: 1
+; CHECK-NEXT:    exit count for for.cond.i: i32 1
 ; CHECK-NEXT:  Loop %for.body.i: constant max backedge-taken count is i32 1
-; CHECK-NEXT:  Loop %for.body.i: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %for.body.i: symbolic max backedge-taken count is i32 1
 ; CHECK-NEXT:    symbolic max exit count for for.body.i: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    symbolic max exit count for for.cond.i: 1
+; CHECK-NEXT:    symbolic max exit count for for.cond.i: i32 1
 ;
 entry:
   store i32 -1, ptr @a, align 4
@@ -159,11 +159,11 @@ define i32 @pr18886() {
 ; CHECK-NEXT:  Determining loop execution counts for: @pr18886
 ; CHECK-NEXT:  Loop %for.body: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:    exit count for for.body: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    exit count for for.cond: 3
+; CHECK-NEXT:    exit count for for.cond: i64 3
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 3
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 3
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 3
 ; CHECK-NEXT:    symbolic max exit count for for.body: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    symbolic max exit count for for.cond: 3
+; CHECK-NEXT:    symbolic max exit count for for.cond: i64 3
 ;
 entry:
   store i64 -21, ptr @aa, align 8
@@ -228,13 +228,13 @@ bar.exit:                                         ; preds = %for.cond.i, %for.bo
 define i32 @two_mustexit() {
 ; CHECK-LABEL: 'two_mustexit'
 ; CHECK-NEXT:  Determining loop execution counts for: @two_mustexit
-; CHECK-NEXT:  Loop %for.body.i: <multiple exits> backedge-taken count is 1
-; CHECK-NEXT:    exit count for for.body.i: 1
-; CHECK-NEXT:    exit count for for.cond.i: 2
+; CHECK-NEXT:  Loop %for.body.i: <multiple exits> backedge-taken count is i32 1
+; CHECK-NEXT:    exit count for for.body.i: i32 1
+; CHECK-NEXT:    exit count for for.cond.i: i32 2
 ; CHECK-NEXT:  Loop %for.body.i: constant max backedge-taken count is i32 1
-; CHECK-NEXT:  Loop %for.body.i: symbolic max backedge-taken count is 1
-; CHECK-NEXT:    symbolic max exit count for for.body.i: 1
-; CHECK-NEXT:    symbolic max exit count for for.cond.i: 2
+; CHECK-NEXT:  Loop %for.body.i: symbolic max backedge-taken count is i32 1
+; CHECK-NEXT:    symbolic max exit count for for.body.i: i32 1
+; CHECK-NEXT:    symbolic max exit count for for.cond.i: i32 2
 ; CHECK-NEXT:  Loop %for.body.i: Trip multiple is 1
 ;
 entry:
@@ -364,7 +364,7 @@ define void @changing_end_bound(ptr %n_addr, ptr %addr) {
 ; CHECK-NEXT:  Determining loop execution counts for: @changing_end_bound
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 2147483646
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 2147483646
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 2147483646
 ;
 entry:
   br label %loop
@@ -392,7 +392,7 @@ define void @changing_end_bound2(i32 %start, ptr %n_addr, ptr %addr) {
 ; CHECK-NEXT:  Determining loop execution counts for: @changing_end_bound2
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 -1
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is -1
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 -1
 ;
 entry:
   br label %loop
@@ -418,7 +418,7 @@ define void @changing_end_bound3(i32 %start, ptr %n_addr, ptr %addr) {
 ; CHECK-NEXT:  Determining loop execution counts for: @changing_end_bound3
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 1073741823
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 1073741823
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 1073741823
 ;
 entry:
   br label %loop
@@ -547,9 +547,9 @@ loop.exit:
 define void @max_overflow_se(i8 %n) mustprogress {
 ; CHECK-LABEL: 'max_overflow_se'
 ; CHECK-NEXT:  Determining loop execution counts for: @max_overflow_se
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i8 0
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -571,11 +571,11 @@ define void @max_overflow_me(i8 %n) mustprogress {
 ; CHECK-LABEL: 'max_overflow_me'
 ; CHECK-NEXT:  Determining loop execution counts for: @max_overflow_me
 ; CHECK-NEXT:  Loop %loop: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for loop: 1
+; CHECK-NEXT:    exit count for loop: i8 1
 ; CHECK-NEXT:    exit count for latch: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 1
-; CHECK-NEXT:    symbolic max exit count for loop: 1
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i8 1
+; CHECK-NEXT:    symbolic max exit count for loop: i8 1
 ; CHECK-NEXT:    symbolic max exit count for latch: ***COULDNOTCOMPUTE***
 ;
 entry:
@@ -601,9 +601,9 @@ exit:
 define void @bool_stride(i1 %s, i1 %n) mustprogress {
 ; CHECK-LABEL: 'bool_stride'
 ; CHECK-NEXT:  Determining loop execution counts for: @bool_stride
-; CHECK-NEXT:  Loop %loop: backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -625,9 +625,9 @@ exit:
 define void @ne_zero_max_btc(i32 %a) {
 ; CHECK-LABEL: 'ne_zero_max_btc'
 ; CHECK-NEXT:  Determining loop execution counts for: @ne_zero_max_btc
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 0
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll b/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
index 7b14807364a4f5..82b4d0e4fb4837 100644
--- a/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
+++ b/llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
@@ -207,11 +207,11 @@ define void @test_other_exit(i32 %N) mustprogress {
 ; CHECK-LABEL: 'test_other_exit'
 ; CHECK-NEXT:  Determining loop execution counts for: @test_other_exit
 ; CHECK-NEXT:  Loop %for.body: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for for.body: 9
+; CHECK-NEXT:    exit count for for.body: i32 9
 ; CHECK-NEXT:    exit count for for.latch: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 9
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 9
-; CHECK-NEXT:    symbolic max exit count for for.body: 9
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 9
+; CHECK-NEXT:    symbolic max exit count for for.body: i32 9
 ; CHECK-NEXT:    symbolic max exit count for for.latch: ***COULDNOTCOMPUTE***
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/nsw.ll b/llvm/test/Analysis/ScalarEvolution/nsw.ll
index 275d3f19ab133b..4d668d1ffef11d 100644
--- a/llvm/test/Analysis/ScalarEvolution/nsw.ll
+++ b/llvm/test/Analysis/ScalarEvolution/nsw.ll
@@ -175,9 +175,9 @@ define i32 @PR12375(ptr readnone %arg) {
 ; CHECK-NEXT:    %tmp5 = getelementptr inbounds i32, ptr %tmp2, i64 1
 ; CHECK-NEXT:    --> {(4 + %arg)<nuw>,+,4}<nuw><%bb1> U: [4,0) S: [4,0) Exits: (8 + %arg)<nuw> LoopDispositions: { %bb1: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @PR12375
-; CHECK-NEXT:  Loop %bb1: backedge-taken count is 1
+; CHECK-NEXT:  Loop %bb1: backedge-taken count is i64 1
 ; CHECK-NEXT:  Loop %bb1: constant max backedge-taken count is i64 1
-; CHECK-NEXT:  Loop %bb1: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %bb1: symbolic max backedge-taken count is i64 1
 ; CHECK-NEXT:  Loop %bb1: Trip multiple is 2
 ;
 bb:
@@ -431,9 +431,9 @@ define void @pr66066() {
 ; CHECK-NEXT:    %shl = shl i8 %iv, 7
 ; CHECK-NEXT:    --> {-128,+,-128}<%loop> U: [0,-127) S: [-128,1) Exits: 0 LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @pr66066
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 1
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 2
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll b/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll
index 5d1c5b5fb6f971..15ba27682a128e 100644
--- a/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll
+++ b/llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll
@@ -11,9 +11,9 @@ declare { i16, i1 } @llvm.umul.with.overflow.i16(i16, i16) nounwind readnone
 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: backedge-taken count is i16 35
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i16 35
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 35
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i16 35
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 36
 ;
 entry:
@@ -36,9 +36,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i16 67
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i16 67
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 67
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i16 67
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 68
 ;
 entry:
@@ -61,9 +61,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i16 50
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i16 50
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 50
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i16 50
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 51
 ;
 entry:
@@ -86,9 +86,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i16 68
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i16 68
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 68
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i16 68
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 69
 ;
 entry:
@@ -111,9 +111,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i32 14
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 14
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 14
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 14
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 15
 ;
 entry:
@@ -136,9 +136,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i32 15
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 15
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 15
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 15
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 16
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/pr25369.ll b/llvm/test/Analysis/ScalarEvolution/pr25369.ll
index 2dc3a1272cc1da..5783ef24b8a0a0 100644
--- a/llvm/test/Analysis/ScalarEvolution/pr25369.ll
+++ b/llvm/test/Analysis/ScalarEvolution/pr25369.ll
@@ -12,9 +12,9 @@ define void @hoge1() {
 ; CHECK-NEXT:  Loop %bb13: constant max backedge-taken count is i32 -1
 ; CHECK-NEXT:  Loop %bb13: symbolic max backedge-taken count is (-2 + (2 * undef) + %tmp7 + %tmp6)
 ; CHECK-NEXT:  Loop %bb13: Trip multiple is 1
-; CHECK-NEXT:  Loop %bb4: backedge-taken count is 20
+; CHECK-NEXT:  Loop %bb4: backedge-taken count is i64 20
 ; CHECK-NEXT:  Loop %bb4: constant max backedge-taken count is i64 20
-; CHECK-NEXT:  Loop %bb4: symbolic max backedge-taken count is 20
+; CHECK-NEXT:  Loop %bb4: symbolic max backedge-taken count is i64 20
 ; CHECK-NEXT:  Loop %bb4: Trip multiple is 21
 ; CHECK-NEXT:  Loop %bb2: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %bb2: Unpredictable constant max backedge-taken count.

diff  --git a/llvm/test/Analysis/ScalarEvolution/pr34538.ll b/llvm/test/Analysis/ScalarEvolution/pr34538.ll
index 03fcbbcfd7ca6c..fe482a82d699a6 100644
--- a/llvm/test/Analysis/ScalarEvolution/pr34538.ll
+++ b/llvm/test/Analysis/ScalarEvolution/pr34538.ll
@@ -4,9 +4,9 @@
 define i32 @pr34538() local_unnamed_addr #0 {
 ; CHECK-LABEL: 'pr34538'
 ; CHECK-NEXT:  Determining loop execution counts for: @pr34538
-; CHECK-NEXT:  Loop %do.body: backedge-taken count is 10000
+; CHECK-NEXT:  Loop %do.body: backedge-taken count is i32 10000
 ; CHECK-NEXT:  Loop %do.body: constant max backedge-taken count is i32 10000
-; CHECK-NEXT:  Loop %do.body: symbolic max backedge-taken count is 10000
+; CHECK-NEXT:  Loop %do.body: symbolic max backedge-taken count is i32 10000
 ; CHECK-NEXT:  Loop %do.body: Trip multiple is 10001
 ;
 entry:
@@ -27,9 +27,9 @@ do.end:                                           ; preds = %do.body
 define i32 @foo() {
 ; CHECK-LABEL: 'foo'
 ; CHECK-NEXT:  Determining loop execution counts for: @foo
-; CHECK-NEXT:  Loop %do.body: backedge-taken count is 5000
+; CHECK-NEXT:  Loop %do.body: backedge-taken count is i32 5000
 ; CHECK-NEXT:  Loop %do.body: constant max backedge-taken count is i32 5000
-; CHECK-NEXT:  Loop %do.body: symbolic max backedge-taken count is 5000
+; CHECK-NEXT:  Loop %do.body: symbolic max backedge-taken count is i32 5000
 ; CHECK-NEXT:  Loop %do.body: Trip multiple is 5001
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/pr48225.ll b/llvm/test/Analysis/ScalarEvolution/pr48225.ll
index 71ca293e311ace..157e98f99aa9f8 100644
--- a/llvm/test/Analysis/ScalarEvolution/pr48225.ll
+++ b/llvm/test/Analysis/ScalarEvolution/pr48225.ll
@@ -22,11 +22,11 @@ define void @test_and(i1 %boolcond) {
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%loop> U: [1,4) S: [1,4) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @test_and
 ; CHECK-NEXT:  Loop %loop: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for loop: 2
+; CHECK-NEXT:    exit count for loop: i32 2
 ; CHECK-NEXT:    exit count for backedge: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 2
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 2
-; CHECK-NEXT:    symbolic max exit count for loop: 2
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 2
+; CHECK-NEXT:    symbolic max exit count for loop: i32 2
 ; CHECK-NEXT:    symbolic max exit count for backedge: ***COULDNOTCOMPUTE***
 ;
 entry:
@@ -71,11 +71,11 @@ define void @test_or(i1 %boolcond) {
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%loop> U: [1,4) S: [1,4) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @test_or
 ; CHECK-NEXT:  Loop %loop: <multiple exits> Unpredictable backedge-taken count.
-; CHECK-NEXT:    exit count for loop: 2
+; CHECK-NEXT:    exit count for loop: i32 2
 ; CHECK-NEXT:    exit count for backedge: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 2
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 2
-; CHECK-NEXT:    symbolic max exit count for loop: 2
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 2
+; CHECK-NEXT:    symbolic max exit count for loop: i32 2
 ; CHECK-NEXT:    symbolic max exit count for backedge: ***COULDNOTCOMPUTE***
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/range-signedness.ll b/llvm/test/Analysis/ScalarEvolution/range-signedness.ll
index 4484bfc1924b61..2b91ac1109ed4a 100644
--- a/llvm/test/Analysis/ScalarEvolution/range-signedness.ll
+++ b/llvm/test/Analysis/ScalarEvolution/range-signedness.ll
@@ -38,9 +38,9 @@ define void @y(ptr %addr) {
 ; CHECK-NEXT:    %idx.inc = add i8 %idx, 1
 ; CHECK-NEXT:    --> {-4,+,1}<nsw><%loop> U: [-4,7) S: [-4,7) Exits: 6 LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @y
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 10
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i8 10
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i8 10
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 10
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i8 10
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 11
 ;
   entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll b/llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll
index db0bac93308664..1971f668a5e29d 100644
--- a/llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll
+++ b/llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll
@@ -23,9 +23,9 @@ define dso_local i32 @test_loop(ptr nocapture noundef readonly %x) {
 ; CHECK-NEXT:    %inc = add nuw nsw i64 %i.03, 1
 ; CHECK-NEXT:    --> {2,+,1}<nuw><nsw><%for.body> U: [2,11) S: [2,11) Exits: 10 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @test_loop
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 8
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i64 8
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i64 8
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 8
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i64 8
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 9
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll b/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
index f7d01974343d3a..3725bd9faa8e7d 100644
--- a/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
+++ b/llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
@@ -19,9 +19,9 @@ define void @f(i1 %c) {
 ; CHECK-NEXT:    %iv.sext = sext i32 %iv to i64
 ; CHECK-NEXT:    --> {(zext i32 %start to i64),+,(sext i32 %step to i64)}<nsw><%loop> U: [0,101) S: [0,101) Exits: ((zext i32 %start to i64) + (99 * (sext i32 %step to i64))<nsw>) LoopDispositions: { %loop: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @f
-; CHECK-NEXT:  Loop %loop: backedge-taken count is 99
+; CHECK-NEXT:  Loop %loop: backedge-taken count is i32 99
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 99
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 99
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 99
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 100
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/shift-op.ll b/llvm/test/Analysis/ScalarEvolution/shift-op.ll
index c3984673cfc7f7..150e4c996716bb 100644
--- a/llvm/test/Analysis/ScalarEvolution/shift-op.ll
+++ b/llvm/test/Analysis/ScalarEvolution/shift-op.ll
@@ -7,7 +7,7 @@ define void @test0(i32 %init) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test0
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 32
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 32
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 32
 ;
  entry:
   br label %loop
@@ -28,7 +28,7 @@ define void @test1(i32 %init) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test1
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 32
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 32
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 32
 ;
  entry:
   br label %loop
@@ -72,7 +72,7 @@ define void @test3(ptr %init.ptr) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test3
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 32
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 32
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 32
 ;
  entry:
   %init = load i32, ptr %init.ptr, !range !0
@@ -94,7 +94,7 @@ define void @test4(ptr %init.ptr) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test4
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 32
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 32
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 32
 ;
  entry:
   %init = load i32, ptr %init.ptr, !range !1
@@ -161,7 +161,7 @@ define void @test7(i32 %init) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test7
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 32
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 32
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 32
 ;
  entry:
   br label %loop

diff  --git a/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll b/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
index 2362741581efdf..9806fd3d57f623 100644
--- a/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
+++ b/llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
@@ -198,9 +198,9 @@ define void @test_shl2() {
 ; CHECK-NEXT:    %iv.shl.next = shl i64 %iv.shl, 1
 ; CHECK-NEXT:    --> (2 * %iv.shl)<nuw><nsw> 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -231,9 +231,9 @@ define void @test_shl3(i1 %c) {
 ; CHECK-NEXT:    %iv.shl.next = shl i64 %iv.shl, %shiftamt
 ; CHECK-NEXT:    --> %iv.shl.next U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: <<Unknown>> 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -263,9 +263,9 @@ define void @test_shl4() {
 ; CHECK-NEXT:    %iv.shl.next = shl i64 %iv.shl, 1
 ; CHECK-NEXT:    --> (2 * %iv.shl)<nuw> 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: backedge-taken count is i64 60
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 60
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 60
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 60
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 61
 ;
 entry:
@@ -294,9 +294,9 @@ define void @test_shl5() {
 ; CHECK-NEXT:    %iv.shl.next = shl i64 %iv.shl, 1
 ; 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: backedge-taken count is i64 61
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 61
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 61
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 61
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 62
 ;
 entry:
@@ -327,9 +327,9 @@ define void @test_shl6(i1 %c) {
 ; CHECK-NEXT:    %iv.shl.next = shl i64 %iv.shl, %shiftamt
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -359,9 +359,9 @@ define void @test_shl7(i1 %c, i64 %shiftamt) {
 ; CHECK-NEXT:    %iv.shl.next = shl i64 %iv.shl, %shiftamt
 ; CHECK-NEXT:    --> %iv.shl.next U: [0,-3) S: [-9223372036854775808,9223372036854775805) Exits: <<Unknown>> 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -502,9 +502,9 @@ define void @test_ashr_tc_positive() {
 ; CHECK-NEXT:    %iv.ashr.next = ashr i64 %iv.ashr, 1
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -532,9 +532,9 @@ define void @test_ashr_tc_negative() {
 ; CHECK-NEXT:    %iv.ashr.next = ashr i8 %iv.ashr, 1
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -564,9 +564,9 @@ define void @test_ashr_tc_either(i1 %a) {
 ; CHECK-NEXT:    %iv.ashr.next = ashr i8 %iv.ashr, 1
 ; CHECK-NEXT:    --> %iv.ashr.next U: [-16,16) S: [-16,16) Exits: <<Unknown>> 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: backedge-taken count is i64 60
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 60
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 60
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 60
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 61
 ;
 entry:
@@ -595,9 +595,9 @@ define void @test_ashr_zero_shift() {
 ; CHECK-NEXT:    %iv.ashr.next = ashr i64 %iv.ashr, 0
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -625,9 +625,9 @@ define void @test_lshr_tc_positive() {
 ; CHECK-NEXT:    %iv.lshr.next = lshr i64 %iv.lshr, 1
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -655,9 +655,9 @@ define void @test_lshr_tc_negative() {
 ; CHECK-NEXT:    %iv.lshr.next = lshr i8 %iv.lshr, 1
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -687,9 +687,9 @@ define void @test_lshr_tc_either(i1 %a) {
 ; CHECK-NEXT:    %iv.lshr.next = lshr i8 %iv.lshr, 1
 ; CHECK-NEXT:    --> (%iv.lshr /u 2) U: [0,-128) S: [0,-128) Exits: <<Unknown>> 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -718,9 +718,9 @@ define void @test_lshr_zero_shift() {
 ; CHECK-NEXT:    %iv.lshr.next = lshr i64 %iv.lshr, 0
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -749,9 +749,9 @@ define void @test_lshr_power_of_2_start() {
 ; CHECK-NEXT:    %iv.lshr.next = lshr i64 %iv.lshr, 2
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -780,9 +780,9 @@ define void @test_lshr_arbitrary_start() {
 ; CHECK-NEXT:    %iv.lshr.next = lshr i64 %iv.lshr, 2
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:
@@ -810,9 +810,9 @@ define void @test_lshr_start_power_of_2_plus_one() {
 ; CHECK-NEXT:    %iv.lshr.next = lshr i64 %iv.lshr, 2
 ; 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: backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i64 4
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i64 4
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 5
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll b/llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll
index 471c255805f319..ea4b25c62a7f9b 100644
--- a/llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll
+++ b/llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll
@@ -152,13 +152,13 @@ define i32 @f5(ptr %val) {
 ; CHECK-NEXT:    %init = phi i32 [ 0, %for.condt ], [ %inc, %for.end ]
 ; CHECK-NEXT:    --> %inc U: full-set S: full-set
 ; CHECK-NEXT:  Determining loop execution counts for: @f5
-; CHECK-NEXT:  Loop %for.end: <multiple exits> backedge-taken count is false
-; CHECK-NEXT:    exit count for for.end: false
-; CHECK-NEXT:    exit count for for.condt: false
+; CHECK-NEXT:  Loop %for.end: <multiple exits> backedge-taken count is i1 false
+; CHECK-NEXT:    exit count for for.end: i1 false
+; CHECK-NEXT:    exit count for for.condt: i1 false
 ; CHECK-NEXT:  Loop %for.end: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %for.end: symbolic max backedge-taken count is false
-; CHECK-NEXT:    symbolic max exit count for for.end: false
-; CHECK-NEXT:    symbolic max exit count for for.condt: false
+; CHECK-NEXT:  Loop %for.end: symbolic max backedge-taken count is i1 false
+; CHECK-NEXT:    symbolic max exit count for for.end: i1 false
+; CHECK-NEXT:    symbolic max exit count for for.condt: i1 false
 ; CHECK-NEXT:  Loop %for.end: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
index 5f758e860a106c..fa4e5fb0ac433e 100644
--- a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
+++ b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
@@ -17,9 +17,9 @@ define void @f0() {
 ; CHECK-NEXT:    %v4 = and i16 %v3, 1
 ; 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: backedge-taken count is i6 1
 ; CHECK-NEXT:  Loop %b1: constant max backedge-taken count is i6 1
-; CHECK-NEXT:  Loop %b1: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %b1: symbolic max backedge-taken count is i6 1
 ; CHECK-NEXT:  Loop %b1: Trip multiple is 2
 ;
 b0:
@@ -65,9 +65,9 @@ define void @f1() #0 {
 ; CHECK-NEXT:  Loop %b3: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %b3: Unpredictable constant max backedge-taken count.
 ; CHECK-NEXT:  Loop %b3: Unpredictable symbolic max backedge-taken count.
-; CHECK-NEXT:  Loop %b1: backedge-taken count is 2
+; CHECK-NEXT:  Loop %b1: backedge-taken count is i6 2
 ; CHECK-NEXT:  Loop %b1: constant max backedge-taken count is i6 2
-; CHECK-NEXT:  Loop %b1: symbolic max backedge-taken count is 2
+; CHECK-NEXT:  Loop %b1: symbolic max backedge-taken count is i6 2
 ; CHECK-NEXT:  Loop %b1: Trip multiple is 3
 ;
 b0:

diff  --git a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
index aac0d618a6a3bd..2e8bdcbaae0a83 100644
--- a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
+++ b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
@@ -23,9 +23,9 @@ define signext i32 @f0() {
 ; CHECK-NEXT:    %v7 = sext i16 %v5 to i32
 ; CHECK-NEXT:    --> {-1,+,-1}<nsw><%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: backedge-taken count is i16 255
 ; CHECK-NEXT:  Loop %b1: constant max backedge-taken count is i16 255
-; CHECK-NEXT:  Loop %b1: symbolic max backedge-taken count is 255
+; CHECK-NEXT:  Loop %b1: symbolic max backedge-taken count is i16 255
 ; CHECK-NEXT:  Loop %b1: Trip multiple is 256
 ;
 b0:

diff  --git a/llvm/test/Analysis/ScalarEvolution/solve-quadratic.ll b/llvm/test/Analysis/ScalarEvolution/solve-quadratic.ll
index 984d83895fc173..fd02ef672a969e 100644
--- a/llvm/test/Analysis/ScalarEvolution/solve-quadratic.ll
+++ b/llvm/test/Analysis/ScalarEvolution/solve-quadratic.ll
@@ -92,7 +92,7 @@ exit:
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solving 1x^2 + -73x + -146, rw:33
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: updated coefficients 1x^2 + -73x + -146, rw:33
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solution (wrap): 75
-; CHECK: Loop %loop: backedge-taken count is 75
+; CHECK: Loop %loop: backedge-taken count is i32 75
 define signext i32 @test02() {
 entry:
   br label %loop
@@ -124,7 +124,7 @@ exit:
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solving 2x^2 + -4x + 2, rw:5
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: updated coefficients 2x^2 + -4x + 2, rw:5
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solution (root): 1
-; CHECK: Loop %loop: backedge-taken count is 1
+; CHECK: Loop %loop: backedge-taken count is i4 1
 define signext i32 @test03() {
 entry:
   br label %loop
@@ -243,7 +243,7 @@ exit:
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solving -1x^2 + -1x + -2, rw:33
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: updated coefficients 1x^2 + 1x + -8589934590, rw:33
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solution (wrap): 92682
-; CHECK: Loop %loop: backedge-taken count is 2
+; CHECK: Loop %loop: backedge-taken count is i32 2
 
 define signext i32 @test05() {
 entry:
@@ -287,7 +287,7 @@ exit:
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solving 1x^2 + -199999x + -12, rw:33
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: updated coefficients 1x^2 + -199999x + 8589934580, rw:33
 ; CHECK: {{.*}}SolveQuadraticEquationWrap{{.*}}: solution (wrap): 62450
-; CHECK: Loop %loop: backedge-taken count is 24469
+; CHECK: Loop %loop: backedge-taken count is i32 24469
 define signext i32 @test06() {
 entry:
   br label %loop

diff  --git a/llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll b/llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll
index 1f88c9ec985fff..ab43182d2e8227 100644
--- a/llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll
+++ b/llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll
@@ -234,12 +234,12 @@ define i32 @test_mixup_constant_symbolic(i32 %end, i32 %len) {
 ; CHECK-NEXT:  Determining loop execution counts for: @test_mixup_constant_symbolic
 ; CHECK-NEXT:  Loop %loop: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:    exit count for loop: %end
-; CHECK-NEXT:    exit count for range_check_block: 1000
+; CHECK-NEXT:    exit count for range_check_block: i32 1000
 ; CHECK-NEXT:    exit count for backedge: ***COULDNOTCOMPUTE***
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 1000
 ; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is (1000 umin %end)
 ; CHECK-NEXT:    symbolic max exit count for loop: %end
-; CHECK-NEXT:    symbolic max exit count for range_check_block: 1000
+; CHECK-NEXT:    symbolic max exit count for range_check_block: i32 1000
 ; CHECK-NEXT:    symbolic max exit count for backedge: ***COULDNOTCOMPUTE***
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll
index 6b2251c9207040..ebdf7d309ca46b 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll
@@ -51,9 +51,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -73,9 +73,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -267,9 +267,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -289,9 +289,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
index a7a2929b72d1ed..9917a72c47e1a3 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
@@ -51,9 +51,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -73,9 +73,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -267,9 +267,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -289,9 +289,9 @@ leave:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
index 114e7f3baa8996..e9c13f551b4d0d 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
@@ -104,7 +104,7 @@ define void @actually_infinite() {
 ; CHECK-NEXT:  Loop %for.body: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %for.body: Unpredictable constant max backedge-taken count.
 ; CHECK-NEXT:  Loop %for.body: Unpredictable symbolic max backedge-taken count.
-; CHECK-NEXT:  Loop %for.body: Predicated backedge-taken count is 257
+; CHECK-NEXT:  Loop %for.body: Predicated backedge-taken count is i16 257
 ; CHECK-NEXT:   Predicates:
 ; CHECK-NEXT:      {0,+,1}<%for.body> Added Flags: <nusw>
 ;

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
index 60120ed2f8ebef..5a3517961e1ac4 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
@@ -56,9 +56,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2
 ;
 entry:
@@ -79,9 +79,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 0
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:
@@ -100,9 +100,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 0
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:
@@ -149,9 +149,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i32 2
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 2
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 2
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 2
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 3
 ;
 entry:
@@ -172,9 +172,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 0
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:
@@ -195,9 +195,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2
 ;
 entry:
@@ -216,9 +216,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2
 ;
 entry:
@@ -289,9 +289,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 63
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 63
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 63
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 63
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 64
 ;
 entry:
@@ -334,9 +334,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 0
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:
@@ -357,9 +357,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 0
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 0
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:
@@ -425,9 +425,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:
@@ -448,9 +448,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 1
 ;
 entry:
@@ -471,9 +471,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2
 ;
 entry:
@@ -492,9 +492,9 @@ for.end:                                          ; preds = %for.body, %entry
 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: backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i8 1
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 2
 ;
 entry:
@@ -566,9 +566,9 @@ define void @step_is_neg_addrec_slt_8(i64 %n) {
 ; CHECK-NEXT:  Loop %inner: constant max backedge-taken count is i32 8
 ; CHECK-NEXT:  Loop %inner: symbolic max backedge-taken count is (7 /u {0,+,-1}<%outer.header>)
 ; CHECK-NEXT:  Loop %inner: Trip multiple is 1
-; CHECK-NEXT:  Loop %outer.header: backedge-taken count is 0
+; CHECK-NEXT:  Loop %outer.header: backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %outer.header: constant max backedge-taken count is i64 0
-; CHECK-NEXT:  Loop %outer.header: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %outer.header: symbolic max backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %outer.header: Trip multiple is 1
 ;
 entry:
@@ -604,9 +604,9 @@ define void @step_is_neg_addrec_slt_var(i32 %n) {
 ; CHECK-NEXT:  Loop %inner: constant max backedge-taken count is i32 2147483647
 ; CHECK-NEXT:  Loop %inner: symbolic max backedge-taken count is ({0,+,1}<nuw><nsw><%outer.header> + ({0,+,-1}<nsw><%outer.header> smax %n))
 ; CHECK-NEXT:  Loop %inner: Trip multiple is 1
-; CHECK-NEXT:  Loop %outer.header: backedge-taken count is 0
+; CHECK-NEXT:  Loop %outer.header: backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %outer.header: constant max backedge-taken count is i64 0
-; CHECK-NEXT:  Loop %outer.header: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %outer.header: symbolic max backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %outer.header: Trip multiple is 1
 ;
 entry:
@@ -642,9 +642,9 @@ define void @step_is_neg_addrec_unknown_start(i32 %n) {
 ; CHECK-NEXT:  Loop %inner: constant max backedge-taken count is i32 -2147483640
 ; CHECK-NEXT:  Loop %inner: symbolic max backedge-taken count is ({(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nsw><%outer.header>))
 ; CHECK-NEXT:  Loop %inner: Trip multiple is 1
-; CHECK-NEXT:  Loop %outer.header: backedge-taken count is 0
+; CHECK-NEXT:  Loop %outer.header: backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %outer.header: constant max backedge-taken count is i64 0
-; CHECK-NEXT:  Loop %outer.header: symbolic max backedge-taken count is 0
+; CHECK-NEXT:  Loop %outer.header: symbolic max backedge-taken count is i64 0
 ; CHECK-NEXT:  Loop %outer.header: Trip multiple is 1
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll
index df8bb0ae043afd..58ed6aea2bbcc0 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll
@@ -7,9 +7,9 @@ define void @test1() nounwind {
 ;
 ; CHECK-LABEL: 'test1'
 ; CHECK-NEXT:  Determining loop execution counts for: @test1
-; CHECK-NEXT:  Loop %for.cond: backedge-taken count is 2
+; CHECK-NEXT:  Loop %for.cond: backedge-taken count is i32 2
 ; CHECK-NEXT:  Loop %for.cond: constant max backedge-taken count is i32 2
-; CHECK-NEXT:  Loop %for.cond: symbolic max backedge-taken count is 2
+; CHECK-NEXT:  Loop %for.cond: symbolic max backedge-taken count is i32 2
 ; CHECK-NEXT:  Loop %for.cond: Trip multiple is 3
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count.ll b/llvm/test/Analysis/ScalarEvolution/trip-count.ll
index 8f3e8298443140..9dd9e3a5ee995d 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count.ll
@@ -9,9 +9,9 @@ target triple = "x86_64-unknown-linux-gnu"
 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: backedge-taken count is i32 10000
 ; CHECK-NEXT:  Loop %bb3: constant max backedge-taken count is i32 10000
-; CHECK-NEXT:  Loop %bb3: symbolic max backedge-taken count is 10000
+; CHECK-NEXT:  Loop %bb3: symbolic max backedge-taken count is i32 10000
 ; CHECK-NEXT:  Loop %bb3: Trip multiple is 10001
 ;
 entry:
@@ -38,9 +38,9 @@ return:         ; preds = %bb5
 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: backedge-taken count is i64 7
 ; CHECK-NEXT:  Loop %preheader: constant max backedge-taken count is i64 7
-; CHECK-NEXT:  Loop %preheader: symbolic max backedge-taken count is 7
+; CHECK-NEXT:  Loop %preheader: symbolic max backedge-taken count is i64 7
 ; CHECK-NEXT:  Loop %preheader: Trip multiple is 8
 ;
 entry:
@@ -99,9 +99,9 @@ declare void @may_exit() nounwind
 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: backedge-taken count is i32 -1431655751
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 -1431655751
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is -1431655751
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 -1431655751
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 2863311546
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count10.ll b/llvm/test/Analysis/ScalarEvolution/trip-count10.ll
index 664ca3a1b3d3db..306ac326bdf081 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count10.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count10.ll
@@ -26,9 +26,9 @@ return:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -47,9 +47,9 @@ return:
 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: backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i1 false
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is false
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i1 false
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 1
 ;
 entry:
@@ -124,9 +124,9 @@ retbb:
 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: backedge-taken count is i32 1
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 1
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 1
 ; CHECK-NEXT:  Loop %loop: Trip multiple is 2
 ;
 entry:
@@ -150,7 +150,7 @@ define void @exit_orcond_nsw(ptr %a) nounwind {
 ; 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: constant max backedge-taken count is i32 1
-; CHECK-NEXT:  Loop %for.body.i: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %for.body.i: symbolic max backedge-taken count is i32 1
 ;
 entry:
   br label %for.body.i

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count2.ll b/llvm/test/Analysis/ScalarEvolution/trip-count2.ll
index ffbdcf7376b2d1..340fbb635afd55 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count2.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count2.ll
@@ -6,9 +6,9 @@
 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: backedge-taken count is i32 4
 ; CHECK-NEXT:  Loop %bb3: constant max backedge-taken count is i32 4
-; CHECK-NEXT:  Loop %bb3: symbolic max backedge-taken count is 4
+; CHECK-NEXT:  Loop %bb3: symbolic max backedge-taken count is i32 4
 ; CHECK-NEXT:  Loop %bb3: Trip multiple is 5
 ;
 entry:

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count6.ll b/llvm/test/Analysis/ScalarEvolution/trip-count6.ll
index e4ded1d14b6577..ed256323aedb1b 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count6.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count6.ll
@@ -8,11 +8,11 @@ define i8 @f() {
 ; CHECK-NEXT:  Determining loop execution counts for: @f
 ; CHECK-NEXT:  Loop %bb: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK-NEXT:    exit count for bb: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    exit count for bb2: 1
+; CHECK-NEXT:    exit count for bb2: i8 1
 ; CHECK-NEXT:  Loop %bb: constant max backedge-taken count is i8 1
-; CHECK-NEXT:  Loop %bb: symbolic max backedge-taken count is 1
+; CHECK-NEXT:  Loop %bb: symbolic max backedge-taken count is i8 1
 ; CHECK-NEXT:    symbolic max exit count for bb: ***COULDNOTCOMPUTE***
-; CHECK-NEXT:    symbolic max exit count for bb2: 1
+; CHECK-NEXT:    symbolic max exit count for bb2: i8 1
 ;
 entry:
   tail call i32 @fegetround( )          ; <i32>:0 [#uses=1]

diff  --git a/llvm/test/Analysis/ScalarEvolution/trip-count7.ll b/llvm/test/Analysis/ScalarEvolution/trip-count7.ll
index 3dca3efa25b48d..fedd39f7c90468 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count7.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count7.ll
@@ -65,7 +65,7 @@ define void @Doit_bb7_2E_i(ptr %x1, ptr %c, ptr %b, ptr %a, ptr %q, ptr %x1.sub,
 ; 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: constant max backedge-taken count is i32 8
-; CHECK-NEXT:  Loop %bb7.i: symbolic max backedge-taken count is 8
+; CHECK-NEXT:  Loop %bb7.i: symbolic max backedge-taken count is i32 8
 ;
 newFuncRoot:
   br label %bb7.i

diff  --git a/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll b/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll
index 2a8d4de24b587a..bdfe38f67de0b9 100644
--- a/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll
+++ b/llvm/test/Analysis/ScalarEvolution/unknown_phis.ll
@@ -47,9 +47,9 @@ define void @merge_values_with_ranges_looped(ptr %a_len_ptr, ptr %b_len_ptr) {
 ; CHECK-NEXT:    %iv.next = add i32 %iv, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%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: backedge-taken count is i32 99
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 99
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 99
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 99
 ; CHECK-NEXT:  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 f1bda1705dffcd..41d425c309251c 100644
--- a/llvm/test/Analysis/ScalarEvolution/widenable-condition.ll
+++ b/llvm/test/Analysis/ScalarEvolution/widenable-condition.ll
@@ -24,7 +24,7 @@ define i32 @wc_max() {
 ; CHECK-NEXT:  Determining loop execution counts for: @wc_max
 ; CHECK-NEXT:  Loop %loop: Unpredictable backedge-taken count.
 ; CHECK-NEXT:  Loop %loop: constant max backedge-taken count is i32 1999
-; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is 1999
+; CHECK-NEXT:  Loop %loop: symbolic max backedge-taken count is i32 1999
 ;
 entry:
   br label %loop

diff  --git a/llvm/test/Transforms/LoopSimplify/preserve-scev.ll b/llvm/test/Transforms/LoopSimplify/preserve-scev.ll
index 5bc81565b4099b..4f5b7ac31e8ba5 100644
--- a/llvm/test/Transforms/LoopSimplify/preserve-scev.ll
+++ b/llvm/test/Transforms/LoopSimplify/preserve-scev.ll
@@ -84,7 +84,7 @@ declare void @foo() nounwind
 ; After simplifying, the max backedge count is refined.
 ; Second SCEV print:
 ; CHECK-LABEL: Determining loop execution counts for: @mergeExit
-; CHECK: Loop %while.cond191: <multiple exits> backedge-taken count is 0
+; CHECK: Loop %while.cond191: <multiple exits> backedge-taken count is i32 0
 ; CHECK: Loop %while.cond191: constant max backedge-taken count is i32 0
 ; CHECK: Loop %while.cond191.outer: <multiple exits> Unpredictable backedge-taken count.
 ; CHECK: Loop %while.cond191.outer: constant max backedge-taken count is i1 false

diff  --git a/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll b/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
index 467f1e0210ff41..aaea1a453664b9 100644
--- a/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
+++ b/llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
@@ -26,9 +26,9 @@ define void @test1(i32 %d, ptr %p) nounwind uwtable ssp {
 ; CHECK-NEXT:    %inc = add nuw nsw i32 %i.03, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%for.body> U: [1,65) S: [1,65) Exits: 64 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @test1
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 63
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i32 63
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 63
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 63
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 63
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 64
 ;
 entry:
@@ -73,9 +73,9 @@ define void @test1a(i32 %d, ptr %p) nounwind uwtable ssp {
 ; CHECK-NEXT:    %inc = add nuw nsw i32 %i.03, 1
 ; CHECK-NEXT:    --> {1,+,1}<nuw><nsw><%for.body> U: [1,65) S: [1,65) Exits: 64 LoopDispositions: { %for.body: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @test1a
-; CHECK-NEXT:  Loop %for.body: backedge-taken count is 63
+; CHECK-NEXT:  Loop %for.body: backedge-taken count is i32 63
 ; CHECK-NEXT:  Loop %for.body: constant max backedge-taken count is i32 63
-; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is 63
+; CHECK-NEXT:  Loop %for.body: symbolic max backedge-taken count is i32 63
 ; CHECK-NEXT:  Loop %for.body: Trip multiple is 64
 ;
 entry:
@@ -116,9 +116,9 @@ define void @test_range_ref1a(i32 %x) {
 ; CHECK-NEXT:    %tmp4 = add nsw i32 %i.01.0, -1
 ; CHECK-NEXT:    --> {99,+,-1}<nsw><%bb> U: [-1,100) S: [-1,100) Exits: -1 LoopDispositions: { %bb: Computable }
 ; CHECK-NEXT:  Determining loop execution counts for: @test_range_ref1a
-; CHECK-NEXT:  Loop %bb: backedge-taken count is 100
+; CHECK-NEXT:  Loop %bb: backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %bb: constant max backedge-taken count is i32 100
-; CHECK-NEXT:  Loop %bb: symbolic max backedge-taken count is 100
+; CHECK-NEXT:  Loop %bb: symbolic max backedge-taken count is i32 100
 ; CHECK-NEXT:  Loop %bb: Trip multiple is 101
 ;
 entry:
@@ -158,9 +158,9 @@ define i32 @test_loop_idiom_recogize(i32 %x, i32 %y, ptr %lam, ptr %alp) nounwin
 ; CHECK-NEXT:    %3 = add i32 %z.0.reg2mem.0, %tmp10
 ; CHECK-NEXT:    --> ((256 * %x) + %y) U: full-set S: full-set
 ; CHECK-NEXT:  Determining loop execution counts for: @test_loop_idiom_recogize
-; CHECK-NEXT:  Loop %bb1: backedge-taken count is 255
+; CHECK-NEXT:  Loop %bb1: backedge-taken count is i32 255
 ; CHECK-NEXT:  Loop %bb1: constant max backedge-taken count is i32 255
-; CHECK-NEXT:  Loop %bb1: symbolic max backedge-taken count is 255
+; CHECK-NEXT:  Loop %bb1: symbolic max backedge-taken count is i32 255
 ; CHECK-NEXT:  Loop %bb1: Trip multiple is 256
 ;
 bb1.thread:

diff  --git a/llvm/test/Transforms/SimpleLoopUnswitch/update-scev-2.ll b/llvm/test/Transforms/SimpleLoopUnswitch/update-scev-2.ll
index f38fd962acbf14..6ca8b4049b1a33 100644
--- a/llvm/test/Transforms/SimpleLoopUnswitch/update-scev-2.ll
+++ b/llvm/test/Transforms/SimpleLoopUnswitch/update-scev-2.ll
@@ -17,7 +17,7 @@
 ; CHECK-SCEV-NEXT:   %0 = add i16 %j.0, 1
 ; CHECK-SCEV-NEXT:   -->  {1,+,1}<nuw><nsw><%lbl1> U: [1,4) S: [1,4)               Exits: 3                LoopDispositions: { %lbl1: Computable, %lbl2: Invariant }
 ; CHECK-SCEV-DAG: Loop %lbl2: Unpredictable backedge-taken count.
-; CHECK-SCEV-DAG: Loop %lbl1: backedge-taken count is 2
+; CHECK-SCEV-DAG: Loop %lbl1: backedge-taken count is i16 2
 ;
 ; After the unswitch:
 ;


        


More information about the llvm-commits mailing list