Use uint64_t for branch weights instead of uint32_t

CallInst::updateProfWeight() creates branch_weights with i64 instead of i32.
To be more consistent everywhere and remove lots of casts from uint64_t
to uint32_t, use i64 for branch_weights.

Reviewed By: davidxl

Differential Revision: https://reviews.llvm.org/D88609
diff --git a/clang/test/CodeGen/catch-undef-behavior.c b/clang/test/CodeGen/catch-undef-behavior.c
index 3b44f74..c211e23 100644
--- a/clang/test/CodeGen/catch-undef-behavior.c
+++ b/clang/test/CodeGen/catch-undef-behavior.c
@@ -385,6 +385,6 @@
   nonnull_variadic(a, b);
 }
 
-// CHECK-UBSAN: ![[WEIGHT_MD]] = !{!"branch_weights", i32 1048575, i32 1}
+// CHECK-UBSAN: ![[WEIGHT_MD]] = !{!"branch_weights", i64 1048575, i64 1}
 
 // CHECK-TRAP: attributes [[NR_NUW]] = { noreturn nounwind }
diff --git a/clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp b/clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp
index 6327396..47725ee 100644
--- a/clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp
+++ b/clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp
@@ -142,5 +142,5 @@
   }
 }
 
-// CHECK: !7 = !{!"branch_weights", i32 [[UNLIKELY]], i32 [[LIKELY]]}
-// CHECK: !8 = !{!"branch_weights", i32 [[LIKELY]], i32 [[UNLIKELY]]}
+// CHECK: !7 = !{!"branch_weights", i64 [[UNLIKELY]], i64 [[LIKELY]]}
+// CHECK: !8 = !{!"branch_weights", i64 [[LIKELY]], i64 [[UNLIKELY]]}
diff --git a/clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp b/clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
index 5872c4c..3994fb0 100644
--- a/clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
+++ b/clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
@@ -221,5 +221,5 @@
   }
 }
 
-// CHECK: !6 = !{!"branch_weights", i32 2000, i32 1}
-// CHECK: !10 = !{!"branch_weights", i32 1, i32 2000}
+// CHECK: !6 = !{!"branch_weights", i64 2000, i64 1}
+// CHECK: !10 = !{!"branch_weights", i64 1, i64 2000}
diff --git a/clang/test/CodeGenCXX/attr-likelihood-switch-branch-weights.cpp b/clang/test/CodeGenCXX/attr-likelihood-switch-branch-weights.cpp
index 5fb7a67..3046b75 100644
--- a/clang/test/CodeGenCXX/attr-likelihood-switch-branch-weights.cpp
+++ b/clang/test/CodeGenCXX/attr-likelihood-switch-branch-weights.cpp
@@ -177,18 +177,18 @@
   }
 }
 
-// CHECK: !6 = !{!"branch_weights", i32 357913942, i32 715827883}
-// CHECK: !7 = !{!"branch_weights", i32 536870912, i32 1}
-// CHECK: !8 = !{!"branch_weights", i32 238609295, i32 715827883, i32 238609295}
-// CHECK: !9 = !{!"branch_weights", i32 357913942, i32 1, i32 357913942}
-// CHECK: !10 = !{!"branch_weights", i32 357913942, i32 715827883, i32 1}
-// CHECK: !11 = !{!"branch_weights", i32 143165577, i32 143165577, i32 143165577, i32 715827883, i32 143165577}
-// CHECK: !12 = !{!"branch_weights", i32 214748365, i32 214748365, i32 214748365, i32 1, i32 214748365}
-// CHECK: !13 = !{!"branch_weights", i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 715827883, i32 79536432}
-// CHECK: !14 = !{!"branch_weights", i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 1, i32 119304648}
-// CHECK: !15 = !{!"branch_weights", i32 2000, i32 1}
-// CHECK: !16 = !{!"branch_weights", i32 1, i32 2000}
-// CHECK: !17 = !{!"branch_weights", i32 715827883, i32 357913942}
-// CHECK: !18 = !{!"branch_weights", i32 1, i32 536870912}
-// CHECK: !19 = !{!"branch_weights", i32 536870912, i32 536870912, i32 268435456}
-// CHECK: !20 = !{!"branch_weights", i32 1, i32 715827883, i32 357913942}
+// CHECK: !6 = !{!"branch_weights", i64 357913942, i64 715827883}
+// CHECK: !7 = !{!"branch_weights", i64 536870912, i64 1}
+// CHECK: !8 = !{!"branch_weights", i64 238609295, i64 715827883, i64 238609295}
+// CHECK: !9 = !{!"branch_weights", i64 357913942, i64 1, i64 357913942}
+// CHECK: !10 = !{!"branch_weights", i64 357913942, i64 715827883, i64 1}
+// CHECK: !11 = !{!"branch_weights", i64 143165577, i64 143165577, i64 143165577, i64 715827883, i64 143165577}
+// CHECK: !12 = !{!"branch_weights", i64 214748365, i64 214748365, i64 214748365, i64 1, i64 214748365}
+// CHECK: !13 = !{!"branch_weights", i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 715827883, i64 79536432}
+// CHECK: !14 = !{!"branch_weights", i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 1, i64 119304648}
+// CHECK: !15 = !{!"branch_weights", i64 2000, i64 1}
+// CHECK: !16 = !{!"branch_weights", i64 1, i64 2000}
+// CHECK: !17 = !{!"branch_weights", i64 715827883, i64 357913942}
+// CHECK: !18 = !{!"branch_weights", i64 1, i64 536870912}
+// CHECK: !19 = !{!"branch_weights", i64 536870912, i64 536870912, i64 268435456}
+// CHECK: !20 = !{!"branch_weights", i64 1, i64 715827883, i64 357913942}
diff --git a/clang/test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp b/clang/test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp
index a5bb874..2db2c33 100644
--- a/clang/test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp
+++ b/clang/test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp
@@ -96,5 +96,5 @@
   return i;
 }
 
-// CHECK-DAG: ![[unlikely_threadlocal]] = !{!"branch_weights", i32 1, i32 1023}
-// CHECK-DAG: ![[unlikely_staticlocal]] = !{!"branch_weights", i32 1, i32 1048575}
+// CHECK-DAG: ![[unlikely_threadlocal]] = !{!"branch_weights", i64 1, i64 1023}
+// CHECK-DAG: ![[unlikely_staticlocal]] = !{!"branch_weights", i64 1, i64 1048575}
diff --git a/clang/test/CodeGenCXX/profile-remap.cpp b/clang/test/CodeGenCXX/profile-remap.cpp
index b519e55..d6d43f5 100644
--- a/clang/test/CodeGenCXX/profile-remap.cpp
+++ b/clang/test/CodeGenCXX/profile-remap.cpp
@@ -24,8 +24,8 @@
 //
 // FIXME: Laplace's rule of succession is applied to sample profiles...
 // CHECK-SAMPLES-DAG: [[FUNC_ENTRY]] = !{!"function_entry_count", i64 1}
-// CHECK-SAMPLES-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i32 11, i32 91}
+// CHECK-SAMPLES-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i64 11, i64 91}
 //
 // ... but not to instruction profiles.
 // CHECK-INSTR-DAG: [[FUNC_ENTRY]] = !{!"function_entry_count", i64 100}
-// CHECK-INSTR-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i32 10, i32 90}
+// CHECK-INSTR-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i64 10, i64 90}
diff --git a/clang/test/CodeGenCXX/static-initializer-branch-weights.cpp b/clang/test/CodeGenCXX/static-initializer-branch-weights.cpp
index f9e7781..ebf502d 100644
--- a/clang/test/CodeGenCXX/static-initializer-branch-weights.cpp
+++ b/clang/test/CodeGenCXX/static-initializer-branch-weights.cpp
@@ -122,5 +122,5 @@
 // CHECK: icmp eq i8 {{.*}}, 0
 // CHECK: br i1 {{.*}}, !prof ![[WEIGHTS_THREAD_LOCAL]]
 
-// CHECK-DAG: ![[WEIGHTS_THREAD_LOCAL]] = !{!"branch_weights", i32 1, i32 1023}
-// CHECK-DAG: ![[WEIGHTS_LOCAL]] = !{!"branch_weights", i32 1, i32 1048575}
+// CHECK-DAG: ![[WEIGHTS_THREAD_LOCAL]] = !{!"branch_weights", i64 1, i64 1023}
+// CHECK-DAG: ![[WEIGHTS_LOCAL]] = !{!"branch_weights", i64 1, i64 1048575}
diff --git a/clang/test/Profile/c-captured.c b/clang/test/Profile/c-captured.c
index 0e265a7..4d5a80d9 100644
--- a/clang/test/Profile/c-captured.c
+++ b/clang/test/Profile/c-captured.c
@@ -47,11 +47,11 @@
   if (x) {} // This is DC2. Checked above.
 }
 
-// PGOUSE-DAG: ![[DC1]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[DC2]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[CS1]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[C11]] = !{!"branch_weights", i32 11, i32 2}
-// PGOUSE-DAG: ![[C12]] = !{!"branch_weights", i32 2, i32 1}
+// PGOUSE-DAG: ![[DC1]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[DC2]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[CS1]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[C11]] = !{!"branch_weights", i64 11, i64 2}
+// PGOUSE-DAG: ![[C12]] = !{!"branch_weights", i64 2, i64 1}
 
 int main(int argc, const char *argv[]) {
   debug_captured();
diff --git a/clang/test/Profile/c-counter-overflows.c b/clang/test/Profile/c-counter-overflows.c
deleted file mode 100644
index 5cb32bb..0000000
--- a/clang/test/Profile/c-counter-overflows.c
+++ /dev/null
@@ -1,49 +0,0 @@
-// Test that big branch weights get scaled down to 32-bits, rather than just
-// truncated.
-
-// RUN: llvm-profdata merge %S/Inputs/c-counter-overflows.proftext -o %t.profdata
-// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-counter-overflows.c %s -o - -emit-llvm -fprofile-instrument-use-path=%t.profdata | FileCheck %s
-
-typedef unsigned long long uint64_t;
-
-int main(int argc, const char *argv[]) {
-  // Need counts higher than 32-bits.
-  // CHECK: br {{.*}} !prof ![[FOR:[0-9]+]]
-  // max   = 0xffffffff0
-  // scale = 0xffffffff0 / 0xffffffff + 1 = 17
-  // loop-body: 0xffffffff0 / 17 + 1 = 0xf0f0f0f0 + 1 = 4042322161 => -252645135
-  // loop-exit: 0x000000001 / 17 + 1 = 0x00000000 + 1 =          1 =>          1
-  for (uint64_t I = 0; I < 0xffffffff0; ++I) {
-    // max   = 0xffffffff * 15 = 0xefffffff1
-    // scale = 0xefffffff1 / 0xffffffff + 1 = 16
-    // CHECK: br {{.*}} !prof ![[IF:[0-9]+]]
-    if (I & 0xf) {
-      // 0xefffffff1 / 16 + 1 = 0xefffffff + 1 = 4026531840 => -268435456
-    } else {
-      // 0x0ffffffff / 16 + 1 = 0x0fffffff + 1 =  268435456 =>  268435456
-    }
-
-    // max   = 0xffffffff * 5 = 0x4fffffffb
-    // scale = 0x4fffffffb / 0xffffffff + 1 = 6
-    // CHECK: ], !prof ![[SWITCH:[0-9]+]]
-    switch ((I & 0xf) / 5) {
-    case 0:
-      // 0x4fffffffb / 6 = 0xd5555554 + 1 = 3579139413 => -715827883
-      break;
-    case 1:
-      // 0x4fffffffb / 6 = 0xd5555554 + 1 = 3579139413 => -715827883
-      break;
-    case 2:
-      // 0x4fffffffb / 6 = 0xd5555554 + 1 = 3579139413 => -715827883
-      break;
-    default:
-      // 0x0ffffffff / 6 = 0x2aaaaaaa + 1 =  715827883 =>  715827883
-      break;
-    }
-  }
-  return 0;
-}
-
-// CHECK-DAG: ![[FOR]] = !{!"branch_weights", i32 -252645135, i32 1}
-// CHECK-DAG: ![[IF]]  = !{!"branch_weights", i32 -268435456, i32 268435456}
-// CHECK-DAG: ![[SWITCH]] = !{!"branch_weights", i32 715827883, i32 -715827883, i32 -715827883, i32 -715827883}
diff --git a/clang/test/Profile/c-general.c b/clang/test/Profile/c-general.c
index a7f03e8..da8a8f2 100644
--- a/clang/test/Profile/c-general.c
+++ b/clang/test/Profile/c-general.c
@@ -470,82 +470,82 @@
   }
 }
 
-// PGOUSE-DAG: ![[SL1]] = !{!"branch_weights", i32 101, i32 2}
-// PGOUSE-DAG: ![[SL2]] = !{!"branch_weights", i32 101, i32 2}
-// PGOUSE-DAG: ![[SL3]] = !{!"branch_weights", i32 76, i32 2}
+// PGOUSE-DAG: ![[SL1]] = !{!"branch_weights", i64 101, i64 2}
+// PGOUSE-DAG: ![[SL2]] = !{!"branch_weights", i64 101, i64 2}
+// PGOUSE-DAG: ![[SL3]] = !{!"branch_weights", i64 76, i64 2}
 
-// PGOUSE-DAG: ![[EE1]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[EE2]] = !{!"branch_weights", i32 52, i32 1}
-// PGOUSE-DAG: ![[EE3]] = !{!"branch_weights", i32 2, i32 51}
-// PGOUSE-DAG: ![[EE4]] = !{!"branch_weights", i32 26, i32 26}
-// PGOUSE-DAG: ![[EE5]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[EE6]] = !{!"branch_weights", i32 2, i32 26}
-// PGOUSE-DAG: ![[EE7]] = !{!"branch_weights", i32 26, i32 1}
+// PGOUSE-DAG: ![[EE1]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[EE2]] = !{!"branch_weights", i64 52, i64 1}
+// PGOUSE-DAG: ![[EE3]] = !{!"branch_weights", i64 2, i64 51}
+// PGOUSE-DAG: ![[EE4]] = !{!"branch_weights", i64 26, i64 26}
+// PGOUSE-DAG: ![[EE5]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[EE6]] = !{!"branch_weights", i64 2, i64 26}
+// PGOUSE-DAG: ![[EE7]] = !{!"branch_weights", i64 26, i64 1}
 
-// PGOUSE-DAG: ![[IF1]] = !{!"branch_weights", i32 101, i32 2}
-// PGOUSE-DAG: ![[IF2]] = !{!"branch_weights", i32 51, i32 51}
-// PGOUSE-DAG: ![[IF3]] = !{!"branch_weights", i32 51, i32 1}
-// PGOUSE-DAG: ![[IF4]] = !{!"branch_weights", i32 34, i32 18}
-// PGOUSE-DAG: ![[IF5]] = !{!"branch_weights", i32 34, i32 1}
-// PGOUSE-DAG: ![[IF6]] = !{!"branch_weights", i32 17, i32 2}
-// PGOUSE-DAG: ![[IF7]] = !{!"branch_weights", i32 100, i32 2}
-// PGOUSE-DAG: ![[IF8]] = !{!"branch_weights", i32 100, i32 2}
+// PGOUSE-DAG: ![[IF1]] = !{!"branch_weights", i64 101, i64 2}
+// PGOUSE-DAG: ![[IF2]] = !{!"branch_weights", i64 51, i64 51}
+// PGOUSE-DAG: ![[IF3]] = !{!"branch_weights", i64 51, i64 1}
+// PGOUSE-DAG: ![[IF4]] = !{!"branch_weights", i64 34, i64 18}
+// PGOUSE-DAG: ![[IF5]] = !{!"branch_weights", i64 34, i64 1}
+// PGOUSE-DAG: ![[IF6]] = !{!"branch_weights", i64 17, i64 2}
+// PGOUSE-DAG: ![[IF7]] = !{!"branch_weights", i64 100, i64 2}
+// PGOUSE-DAG: ![[IF8]] = !{!"branch_weights", i64 100, i64 2}
 
-// PGOUSE-DAG: ![[JM1]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[JM2]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[JM3]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[JM4]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[JM5]] = !{!"branch_weights", i32 3, i32 2}
-// PGOUSE-DAG: ![[JM6]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[JM7]] = !{!"branch_weights", i32 1, i32 2, i32 2, i32 2}
-// PGOUSE-DAG: ![[JM8]] = !{!"branch_weights", i32 11, i32 2}
-// PGOUSE-DAG: ![[JM9]] = !{!"branch_weights", i32 10, i32 2}
+// PGOUSE-DAG: ![[JM1]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[JM2]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[JM3]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[JM4]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[JM5]] = !{!"branch_weights", i64 3, i64 2}
+// PGOUSE-DAG: ![[JM6]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[JM7]] = !{!"branch_weights", i64 1, i64 2, i64 2, i64 2}
+// PGOUSE-DAG: ![[JM8]] = !{!"branch_weights", i64 11, i64 2}
+// PGOUSE-DAG: ![[JM9]] = !{!"branch_weights", i64 10, i64 2}
 
-// PGOUSE-DAG: ![[SW1]] = !{!"branch_weights", i32 16, i32 1}
-// PGOUSE-DAG: ![[SW2]] = !{!"branch_weights", i32 6, i32 2, i32 3, i32 4, i32 5}
-// PGOUSE-DAG: ![[SW3]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[SW4]] = !{!"branch_weights", i32 3, i32 2}
-// PGOUSE-DAG: ![[SW5]] = !{!"branch_weights", i32 4, i32 1}
-// PGOUSE-DAG: ![[SW6]] = !{!"branch_weights", i32 5, i32 1}
-// PGOUSE-DAG: ![[SW7]] = !{!"branch_weights", i32 1, i32 2, i32 2, i32 2, i32 2}
-// PGOUSE-DAG: ![[SW8]] = !{!"branch_weights", i32 5, i32 1}
-// PGOUSE-DAG: ![[SW9]] = !{!"branch_weights", i32 2, i32 5}
+// PGOUSE-DAG: ![[SW1]] = !{!"branch_weights", i64 16, i64 1}
+// PGOUSE-DAG: ![[SW2]] = !{!"branch_weights", i64 6, i64 2, i64 3, i64 4, i64 5}
+// PGOUSE-DAG: ![[SW3]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[SW4]] = !{!"branch_weights", i64 3, i64 2}
+// PGOUSE-DAG: ![[SW5]] = !{!"branch_weights", i64 4, i64 1}
+// PGOUSE-DAG: ![[SW6]] = !{!"branch_weights", i64 5, i64 1}
+// PGOUSE-DAG: ![[SW7]] = !{!"branch_weights", i64 1, i64 2, i64 2, i64 2, i64 2}
+// PGOUSE-DAG: ![[SW8]] = !{!"branch_weights", i64 5, i64 1}
+// PGOUSE-DAG: ![[SW9]] = !{!"branch_weights", i64 2, i64 5}
 
-// PGOUSE-DAG: ![[BS1]] = !{!"branch_weights", i32 33, i32 2}
-// PGOUSE-DAG: ![[BS2]] = !{!"branch_weights", i32 29, i32 2, i32 2, i32 2, i32 2, i32 1}
-// PGOUSE-DAG: ![[BS3]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[BS4]] = !{!"branch_weights", i32 2, i32 2}
-// PGOUSE-DAG: ![[BS5]] = !{!"branch_weights", i32 12, i32 1}
-// PGOUSE-DAG: ![[BS6]] = !{!"branch_weights", i32 12, i32 3}
-// PGOUSE-DAG: ![[BS7]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[BS8]] = !{!"branch_weights", i32 16, i32 1}
-// PGOUSE-DAG: ![[BS9]] = !{!"branch_weights", i32 16, i32 14}
-// PGOUSE-DAG: ![[BS10]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[BS11]] = !{!"branch_weights", i32 3, i32 1}
+// PGOUSE-DAG: ![[BS1]] = !{!"branch_weights", i64 33, i64 2}
+// PGOUSE-DAG: ![[BS2]] = !{!"branch_weights", i64 29, i64 2, i64 2, i64 2, i64 2, i64 1}
+// PGOUSE-DAG: ![[BS3]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[BS4]] = !{!"branch_weights", i64 2, i64 2}
+// PGOUSE-DAG: ![[BS5]] = !{!"branch_weights", i64 12, i64 1}
+// PGOUSE-DAG: ![[BS6]] = !{!"branch_weights", i64 12, i64 3}
+// PGOUSE-DAG: ![[BS7]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[BS8]] = !{!"branch_weights", i64 16, i64 1}
+// PGOUSE-DAG: ![[BS9]] = !{!"branch_weights", i64 16, i64 14}
+// PGOUSE-DAG: ![[BS10]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[BS11]] = !{!"branch_weights", i64 3, i64 1}
 
-// PGOUSE-DAG: ![[BO1]] = !{!"branch_weights", i32 101, i32 2}
-// PGOUSE-DAG: ![[BO2]] = !{!"branch_weights", i32 67, i32 35}
-// PGOUSE-DAG: ![[BO3]] = !{!"branch_weights", i32 67, i32 35}
-// PGOUSE-DAG: ![[BO4]] = !{!"branch_weights", i32 67, i32 35}
-// PGOUSE-DAG: ![[BO5]] = !{!"branch_weights", i32 18, i32 18}
-// PGOUSE-DAG: ![[BO6]] = !{!"branch_weights", i32 51, i32 51}
-// PGOUSE-DAG: ![[BO7]] = !{!"branch_weights", i32 34, i32 18}
-// PGOUSE-DAG: ![[BL1]] = !{!"branch_weights", i32 52, i32 1}
-// PGOUSE-DAG: ![[BL2]] = !{!"branch_weights", i32 51, i32 2}
-// PGOUSE-DAG: ![[BL3]] = !{!"branch_weights", i32 26, i32 27}
-// PGOUSE-DAG: ![[BL4]] = !{!"branch_weights", i32 51, i32 2}
-// PGOUSE-DAG: ![[BL5]] = !{!"branch_weights", i32 52, i32 1}
-// PGOUSE-DAG: ![[BL6]] = !{!"branch_weights", i32 51, i32 2}
-// PGOUSE-DAG: ![[BL7]] = !{!"branch_weights", i32 26, i32 27}
-// PGOUSE-DAG: ![[BL8]] = !{!"branch_weights", i32 51, i32 2}
-// PGOUSE-DAG: ![[CO1]] = !{!"branch_weights", i32 1, i32 2}
-// PGOUSE-DAG: ![[CO2]] = !{!"branch_weights", i32 2, i32 1}
+// PGOUSE-DAG: ![[BO1]] = !{!"branch_weights", i64 101, i64 2}
+// PGOUSE-DAG: ![[BO2]] = !{!"branch_weights", i64 67, i64 35}
+// PGOUSE-DAG: ![[BO3]] = !{!"branch_weights", i64 67, i64 35}
+// PGOUSE-DAG: ![[BO4]] = !{!"branch_weights", i64 67, i64 35}
+// PGOUSE-DAG: ![[BO5]] = !{!"branch_weights", i64 18, i64 18}
+// PGOUSE-DAG: ![[BO6]] = !{!"branch_weights", i64 51, i64 51}
+// PGOUSE-DAG: ![[BO7]] = !{!"branch_weights", i64 34, i64 18}
+// PGOUSE-DAG: ![[BL1]] = !{!"branch_weights", i64 52, i64 1}
+// PGOUSE-DAG: ![[BL2]] = !{!"branch_weights", i64 51, i64 2}
+// PGOUSE-DAG: ![[BL3]] = !{!"branch_weights", i64 26, i64 27}
+// PGOUSE-DAG: ![[BL4]] = !{!"branch_weights", i64 51, i64 2}
+// PGOUSE-DAG: ![[BL5]] = !{!"branch_weights", i64 52, i64 1}
+// PGOUSE-DAG: ![[BL6]] = !{!"branch_weights", i64 51, i64 2}
+// PGOUSE-DAG: ![[BL7]] = !{!"branch_weights", i64 26, i64 27}
+// PGOUSE-DAG: ![[BL8]] = !{!"branch_weights", i64 51, i64 2}
+// PGOUSE-DAG: ![[CO1]] = !{!"branch_weights", i64 1, i64 2}
+// PGOUSE-DAG: ![[CO2]] = !{!"branch_weights", i64 2, i64 1}
 
-// PGOUSE-DAG: ![[DF1]] = !{!"branch_weights", i32 11, i32 2}
-// PGOUSE-DAG: ![[DF2]] = !{!"branch_weights", i32 3, i32 3}
-// PGOUSE-DAG: ![[DF3]] = !{!"branch_weights", i32 9, i32 5}
+// PGOUSE-DAG: ![[DF1]] = !{!"branch_weights", i64 11, i64 2}
+// PGOUSE-DAG: ![[DF2]] = !{!"branch_weights", i64 3, i64 3}
+// PGOUSE-DAG: ![[DF3]] = !{!"branch_weights", i64 9, i64 5}
 
-// PGOUSE-DAG: ![[ST1]] = !{!"branch_weights", i32 11, i32 2}
+// PGOUSE-DAG: ![[ST1]] = !{!"branch_weights", i64 11, i64 2}
 
 int main(int argc, const char *argv[]) {
   simple_loops();
diff --git a/clang/test/Profile/cxx-class.cpp b/clang/test/Profile/cxx-class.cpp
index ab90d19..5d88892 100644
--- a/clang/test/Profile/cxx-class.cpp
+++ b/clang/test/Profile/cxx-class.cpp
@@ -31,7 +31,7 @@
     // CTRUSE-NOT: br {{.*}} !prof ![0-9]+
     // CTRUSE: ret
   }
-  // CTRUSE: ![[SC1]] = !{!"branch_weights", i32 100, i32 2}
+  // CTRUSE: ![[SC1]] = !{!"branch_weights", i64 100, i64 2}
 
   // DTRGEN-LABEL: define {{.*}} @_ZN6SimpleD2Ev(
   // DTRUSE-LABEL: define {{.*}} @_ZN6SimpleD2Ev(
@@ -44,7 +44,7 @@
     // DTRUSE-NOT: br {{.*}} !prof ![0-9]+
     // DTRUSE: ret
   }
-  // DTRUSE: ![[SD1]] = !{!"branch_weights", i32 100, i32 2}
+  // DTRUSE: ![[SD1]] = !{!"branch_weights", i64 100, i64 2}
 
   // MTHGEN-LABEL: define {{.*}} @_ZN6Simple6methodEv(
   // MTHUSE-LABEL: define {{.*}} @_ZN6Simple6methodEv(
@@ -57,7 +57,7 @@
     // MTHUSE-NOT: br {{.*}} !prof ![0-9]+
     // MTHUSE: ret
   }
-  // MTHUSE: ![[SM1]] = !{!"branch_weights", i32 100, i32 2}
+  // MTHUSE: ![[SM1]] = !{!"branch_weights", i64 100, i64 2}
 };
 
 class Derived : virtual public Simple {
@@ -73,7 +73,7 @@
     // VCTRUSE-NOT: br {{.*}} !prof ![0-9]+
     // VCTRUSE: ret
   }
-  // VCTRUSE: ![[SC1]] = !{!"branch_weights", i32 100, i32 2}
+  // VCTRUSE: ![[SC1]] = !{!"branch_weights", i64 100, i64 2}
 
   // VDTRGEN-LABEL: define {{.*}} @_ZN7DerivedD2Ev(
   // VDTRUSE-LABEL: define {{.*}} @_ZN7DerivedD2Ev(
@@ -86,7 +86,7 @@
     // VDTRUSE-NOT: br {{.*}} !prof ![0-9]+
     // VDTRUSE: ret
   }
-  // VDTRUSE: ![[SD1]] = !{!"branch_weights", i32 100, i32 2}
+  // VDTRUSE: ![[SD1]] = !{!"branch_weights", i64 100, i64 2}
 };
 
 // WRPGEN-LABEL: define {{.*}} @_Z14simple_wrapperv(
@@ -104,7 +104,7 @@
   // WRPUSE-NOT: br {{.*}} !prof ![0-9]+
   // WRPUSE: ret
 }
-// WRPUSE: ![[SW1]] = !{!"branch_weights", i32 101, i32 2}
+// WRPUSE: ![[SW1]] = !{!"branch_weights", i64 101, i64 2}
 
 int main(int argc, const char *argv[]) {
   simple_wrapper();
diff --git a/clang/test/Profile/cxx-lambda.cpp b/clang/test/Profile/cxx-lambda.cpp
index 08d78da..3486e10 100644
--- a/clang/test/Profile/cxx-lambda.cpp
+++ b/clang/test/Profile/cxx-lambda.cpp
@@ -45,12 +45,12 @@
   if (i) {}
 }
 
-// PGOUSE-DAG: ![[LW1]] = !{!"branch_weights", i32 2, i32 1}
-// PGOUSE-DAG: ![[LW2]] = !{!"branch_weights", i32 11, i32 2}
-// PGOUSE-DAG: ![[LW3]] = !{!"branch_weights", i32 2, i32 1}
+// PGOUSE-DAG: ![[LW1]] = !{!"branch_weights", i64 2, i64 1}
+// PGOUSE-DAG: ![[LW2]] = !{!"branch_weights", i64 11, i64 2}
+// PGOUSE-DAG: ![[LW3]] = !{!"branch_weights", i64 2, i64 1}
 
-// LMBUSE-DAG: ![[LF1]] = !{!"branch_weights", i32 10, i32 2}
-// LMBUSE-DAG: ![[LF2]] = !{!"branch_weights", i32 10, i32 2}
+// LMBUSE-DAG: ![[LF1]] = !{!"branch_weights", i64 10, i64 2}
+// LMBUSE-DAG: ![[LF2]] = !{!"branch_weights", i64 10, i64 2}
 
 int main(int argc, const char *argv[]) {
   lambdas();
diff --git a/clang/test/Profile/cxx-rangefor.cpp b/clang/test/Profile/cxx-rangefor.cpp
index 1d2f7f4..bef1141 100644
--- a/clang/test/Profile/cxx-rangefor.cpp
+++ b/clang/test/Profile/cxx-rangefor.cpp
@@ -33,10 +33,10 @@
   if (sum) {}
 }
 
-// PGOUSE-DAG: ![[RF1]] = !{!"branch_weights", i32 5, i32 1}
-// PGOUSE-DAG: ![[RF2]] = !{!"branch_weights", i32 2, i32 4}
-// PGOUSE-DAG: ![[RF3]] = !{!"branch_weights", i32 2, i32 3}
-// PGOUSE-DAG: ![[RF4]] = !{!"branch_weights", i32 2, i32 1}
+// PGOUSE-DAG: ![[RF1]] = !{!"branch_weights", i64 5, i64 1}
+// PGOUSE-DAG: ![[RF2]] = !{!"branch_weights", i64 2, i64 4}
+// PGOUSE-DAG: ![[RF3]] = !{!"branch_weights", i64 2, i64 3}
+// PGOUSE-DAG: ![[RF4]] = !{!"branch_weights", i64 2, i64 1}
 
 int main(int argc, const char *argv[]) {
   range_for();
diff --git a/clang/test/Profile/cxx-templates.cpp b/clang/test/Profile/cxx-templates.cpp
index 7af6660..7c84141 100644
--- a/clang/test/Profile/cxx-templates.cpp
+++ b/clang/test/Profile/cxx-templates.cpp
@@ -32,8 +32,8 @@
   // ALL: ret
 }
 
-// T0USE-DAG: ![[T01]] = !{!"branch_weights", i32 1, i32 2}
-// T100USE-DAG: ![[T1001]] = !{!"branch_weights", i32 101, i32 2}
+// T0USE-DAG: ![[T01]] = !{!"branch_weights", i64 1, i64 2}
+// T100USE-DAG: ![[T1001]] = !{!"branch_weights", i64 101, i64 2}
 
 int main(int argc, const char *argv[]) {
   loop<0>();
diff --git a/clang/test/Profile/cxx-throws.cpp b/clang/test/Profile/cxx-throws.cpp
index f6c0f52..ee6f187 100644
--- a/clang/test/Profile/cxx-throws.cpp
+++ b/clang/test/Profile/cxx-throws.cpp
@@ -76,13 +76,13 @@
   if (i) {}
 }
 
-// PGOUSE-DAG: ![[TH1]] = !{!"branch_weights", i32 101, i32 2}
-// PGOUSE-DAG: ![[TH2]] = !{!"branch_weights", i32 67, i32 35}
-// PGOUSE-DAG: ![[TH3]] = !{!"branch_weights", i32 34, i32 34}
-// PGOUSE-DAG: ![[TH4]] = !{!"branch_weights", i32 18, i32 18}
-// PGOUSE-EXC: ![[TH5]] = !{!"branch_weights", i32 34, i32 18}
-// PGOUSE-DAG: ![[TH6]] = !{!"branch_weights", i32 101, i32 1}
-// PGOUSE-DAG: ![[UN1]] = !{!"branch_weights", i32 2, i32 1}
+// PGOUSE-DAG: ![[TH1]] = !{!"branch_weights", i64 101, i64 2}
+// PGOUSE-DAG: ![[TH2]] = !{!"branch_weights", i64 67, i64 35}
+// PGOUSE-DAG: ![[TH3]] = !{!"branch_weights", i64 34, i64 34}
+// PGOUSE-DAG: ![[TH4]] = !{!"branch_weights", i64 18, i64 18}
+// PGOUSE-EXC: ![[TH5]] = !{!"branch_weights", i64 34, i64 18}
+// PGOUSE-DAG: ![[TH6]] = !{!"branch_weights", i64 101, i64 1}
+// PGOUSE-DAG: ![[UN1]] = !{!"branch_weights", i64 2, i64 1}
 
 int main(int argc, const char *argv[]) {
   throws();
diff --git a/clang/test/Profile/gcc-flag-compatibility.c b/clang/test/Profile/gcc-flag-compatibility.c
index 743b7ff..703e20b 100644
--- a/clang/test/Profile/gcc-flag-compatibility.c
+++ b/clang/test/Profile/gcc-flag-compatibility.c
@@ -32,7 +32,7 @@
 // RUN: llvm-profdata merge %S/Inputs/gcc-flag-compatibility.proftext -o %t.dir/some/path/file.prof
 // RUN: %clang %s -o - -Xclang -disable-llvm-passes -emit-llvm -S -fprofile-use=%t.dir/some/path/file.prof -fno-experimental-new-pass-manager | FileCheck -check-prefix=PROFILE-USE %s
 // RUN: %clang %s -o - -Xclang -disable-llvm-passes -emit-llvm -S -fprofile-use=%t.dir/some/path/file.prof -fexperimental-new-pass-manager | FileCheck -check-prefix=PROFILE-USE %s
-// PROFILE-USE: = !{!"branch_weights", i32 101, i32 2}
+// PROFILE-USE: = !{!"branch_weights", i64 101, i64 2}
 
 // Check that -fprofile-use=some/path reads some/path/default.profdata
 // This uses LLVM IR format profile.
@@ -54,7 +54,7 @@
 // RUN: %clang %s -o - -emit-llvm -S -fprofile-use=%t.dir/some/path/file.prof -fno-experimental-new-pass-manager | FileCheck -check-prefix=PROFILE-USE-IR %s
 // RUN: %clang %s -o - -emit-llvm -S -fprofile-use=%t.dir/some/path/file.prof -fexperimental-new-pass-manager | FileCheck -check-prefix=PROFILE-USE-IR %s
 
-// PROFILE-USE-IR: = !{!"branch_weights", i32 100, i32 1}
+// PROFILE-USE-IR: = !{!"branch_weights", i64 100, i64 1}
 
 int X = 0;
 
diff --git a/clang/test/Profile/objc-general.m b/clang/test/Profile/objc-general.m
index 7a4cac9..55a17e8 100644
--- a/clang/test/Profile/objc-general.m
+++ b/clang/test/Profile/objc-general.m
@@ -79,9 +79,9 @@
     ++x;
 }
 
-// PGOUSE-DAG: ![[FR1]] = !{!"branch_weights", i32 2, i32 3}
-// PGOUSE-DAG: ![[FR2]] = !{!"branch_weights", i32 3, i32 2}
-// PGOUSE-DAG: ![[BL1]] = !{!"branch_weights", i32 2, i32 2}
+// PGOUSE-DAG: ![[FR1]] = !{!"branch_weights", i64 2, i64 3}
+// PGOUSE-DAG: ![[FR2]] = !{!"branch_weights", i64 3, i64 2}
+// PGOUSE-DAG: ![[BL1]] = !{!"branch_weights", i64 2, i64 2}
 
 int main(int argc, const char *argv[]) {
   A *a = [[A alloc] init];