https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67864
--- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Sun Oct 11 09:03:09 2015 New Revision: 228692 URL: https://gcc.gnu.org/viewcvs?rev=228692&root=gcc&view=rev Log: bb-reorder: Improve the simple algorithm for -Os (PR67864) As the PR points out, the "simple" reorder algorithm makes bigger code than the STC algorithm did, for -Os, for x86. I now tested it for many different targets and it turns out to be worse everywhere. This simple patch tunes "simple" a bit; this makes it better than STC almost everywhere. The only exceptions (for the targets where I have results) are x86 and mn10300. For those targets it may be best to switch the default algorithm for -Os to STC. 2015-10-11 Segher Boessenkool <seg...@kernel.crashing.org> PR rtl-optimization/67864 * gcc/bb-reorder (reorder_basic_blocks_simple): Prefer existing fallthrough edges for conditional jumps. Don't sort candidate edges if not optimizing for speed. Modified: trunk/gcc/ChangeLog trunk/gcc/bb-reorder.c