message: [XLA:GPU] Add a heuristic for reducing threads per block on unrolled loop fusions
  Unrolling kernels increases register usage, and it's possible to bump into the
  limits. Currently we pick the maximum number of threads per block by default,
  which is extreme and arbitrary. Make it less extreme (but still arbitrary)
diff: @@ -82,6 +82,11 @@ LaunchDimensions CalculateLaunchDimensions(
  // TODO(jlebar): Investigate this further, and tune this heuristic so we can
  // run faster on the few benchmarks where smaller block size helps.
  int64 threads_per_block = ThreadsPerBlockLimit(device_desc);
  + // We unroll kernels to make use of vectorized loads/stores. This means we
  + // need more registers to hold intermediate values. Reduce the number of
  + // blocks per thread to increase the number of registers available to ptxas.
  + // Make sure we still have a multiple of 32.
  + threads_per_block = RoundUpToNearest(threads_per_block / unroll_factor, 32LL);
  if (num_elements < threads_per_block) {
  threads_per_block = num_elements;
  VLOG(2) << "Update # of threads per block to the element count ("
  