bb-reorder: Improve the simple algorithm for -Os (PR67864)
authorSegher Boessenkool <segher@kernel.crashing.org>
Sun, 11 Oct 2015 09:03:09 +0000 (11:03 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Sun, 11 Oct 2015 09:03:09 +0000 (11:03 +0200)
commitc70f0ca26b5843498c2d1258865c77b1da545e27
tree04a5840f8567588820334a1cb08eabe841a9300d
parentfac812f0bdd174e727899f2557580418ccf62c55
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  <segher@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.

From-SVN: r228692
gcc/ChangeLog
gcc/bb-reorder.c