On 10/29/14 07:21, Wilco Dijkstra wrote:
This patch adjusts the spill cost of literal pool loads to reduce the chance of
them being
caller-saved (which is inefficient). Such loads should be rematerialized and
thus should not include
the cost of a spill store. This was done only on constants for which
legitimate_constant_p is true,
however it is right thing to do for any constant, including constants in
literal pools (which are
typically not legitimate). Also use ALL_REGS rather than GENERAL_REGS as
ALL_REGS has the correct
floating point register costs.
ChangeLog:
2014-10-29 Wilco Dijkstra <wdijk...@arm.com>
* gcc/ira-costs.c (scan_one_insn): Improve spill cost adjustment.
Do you have a testcase that shows the expected improvements from this
change? It's OK if it's specific to a target.
Have you bootstrapped and regression tested this change?
With a test for the testsuite and assuming it passes bootstrap and
regression testing, this will almost certainly be OK.
jeff