If an end section basic block ends in an unconditional branch to its
fallthrough, BasicBlockSections will duplicate the unconditional branch.
This doesn't break x86, but it is a (slight) size optimization and more
importantly prevents AArch64 builds from breaking.
Ex:
bb1 (bbsections Hot): jmp bb2 bb2 (bbsections Cold): /* do work... */
After running sortBasicBlocksAndUpdateBranches():
bb1 (bbsections Hot): jmp bb2 jmp bb2 bb2 (bbsections Cold): /* do work... */
Just -mtriple=x86_64 is enough.