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

Reply via email to