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
+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
/* 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