[ARM] Tweak HONOR_REG_ALLOC_ORDER

Setting HONOR_REG_ALLOC_ORDER improves codesize with -Os, however it generates
slower and larger code with -O2 and higher.  So only set it when optimizing for
size.  On Cortex-A57 this improves SPECINT2006 by 0.15% and SPECFP2006 by 0.25%
while reducing codesize.

    gcc/
	* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Set when optimizing for
	size.

From-SVN: r276887
This commit is contained in:
Wilco Dijkstra 2019-10-11 14:23:28 +00:00 committed by Wilco Dijkstra
parent bd01f4da3e
commit 3635c2bf7c
2 changed files with 7 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2019-10-11 Wilco Dijkstra <wdijkstr@arm.com>
* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Set when optimizing for
size.
2019-10-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
* tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to

View file

@ -1068,9 +1068,8 @@ extern int arm_regs_in_sequence[];
/* Use different register alloc ordering for Thumb. */
#define ADJUST_REG_ALLOC_ORDER arm_order_regs_for_local_alloc ()
/* Tell IRA to use the order we define rather than messing it up with its
own cost calculations. */
#define HONOR_REG_ALLOC_ORDER 1
/* Tell IRA to use the order we define when optimizing for size. */
#define HONOR_REG_ALLOC_ORDER optimize_function_for_size_p (cfun)
/* Interrupt functions can only use registers that have already been
saved by the prologue, even if they would normally be