Commit 3be07662 by Wilco Dijkstra Committed by Jiong Wang

[AArch64] Add cost handling of CALLER_SAVE_REGS and POINTER_REGS

2014-09-12  Wilco Dijkstra  <wdijkstr@arm.com>

  * gcc/config/aarch64/aarch64.c (aarch64_register_move_cost): Add cost handling
  of CALLER_SAVE_REGS and POINTER_REGS.

From-SVN: r215206
parent e533e26c
2014-09-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
* config/aarch64/aarch64.c (aarch64_register_move_cost): Add cost
handling of CALLER_SAVE_REGS and POINTER_REGS.
2014-09-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
* gcc/ree.c (combine_reaching_defs): Ensure inserted copy don't change
the number of hard registers.
......@@ -5932,6 +5932,13 @@ aarch64_register_move_cost (enum machine_mode mode,
const struct cpu_regmove_cost *regmove_cost
= aarch64_tune_params->regmove_cost;
/* Caller save and pointer regs are equivalent to GENERAL_REGS. */
if (to == CALLER_SAVE_REGS || to == POINTER_REGS)
to = GENERAL_REGS;
if (from == CALLER_SAVE_REGS || from == POINTER_REGS)
from = GENERAL_REGS;
/* Moving between GPR and stack cost is the same as GP2GP. */
if ((from == GENERAL_REGS && to == STACK_REG)
|| (to == GENERAL_REGS && from == STACK_REG))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment