Passes could store large integers into stats, as a result of using block frequency counters. Using uint64_t gives a much smaller chance of overflow and reduces confusion. One example pass is block-placement-stats.
About binary size
For bin/clang, https://www.diffchecker.com/xZIbpmYz is a diff of bloaty bin/clang
the FILE SIZE and VM SIZE of bloaty (measured at MiB) doesn't change before and after this change; the .data section increases from 139Ki to 173Ki. Full bloaty output in [1]
[1] https://gist.github.com/minglotus-6/a9af947ab9d6ed120d87682b214c21ac is bloaty bin/clang with unsigned, and https://gist.github.com/minglotus-6/a9af947ab9d6ed120d87682b214c21ac is bloaty bin/clang with uint64_t, measured at the same base commit number, with and without this patch.
UINT64_C(0) may be better.