Note, this is a re-submission of D125894 with features = ["-header_modules"]
added to the main BUILD.bazel file.
Some functions like stpncpy are implemented in terms of memset but are not
currently using -fno-builtin-memset. This is somewhat hidden by the fact that
we use -ffreestanding globally and that -ffreestanding implies
-fno-builtin for Clang.
This patch also removes -mllvm -combiner-global-alias-analysis that is Clang
specific and that does not bring substantial gains on modern processors.
Also we keep -mllvm --tail-merge-threshold=0 for aarch64 in CMakeLists.txt
but we omit it in the Bazel config. This is because Bazel consumes the source
files directly and so it can use PGO to take optimal decisions locally.