From 374d961c0df2af3d7fc3367d63daec408b09d148 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Fri, 6 Jul 2007 13:42:26 +0000 Subject: [PATCH] reload1.c (choose_reload_regs): Set reload_spill_index for regs chosen during find_reloads. * reload1.c (choose_reload_regs): Set reload_spill_index for regs chosen during find_reloads. From-SVN: r126415 --- gcc/ChangeLog | 5 +++++ gcc/reload1.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f405b26a5970..2c5edb5d9ed4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-07-06 Bernd Schmidt + + * reload1.c (choose_reload_regs): Set reload_spill_index for regs + chosen during find_reloads. + 2007-07-06 Richard Guenther * gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over diff --git a/gcc/reload1.c b/gcc/reload1.c index 6bba280617fa..fda1adcebd22 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -5633,7 +5633,14 @@ choose_reload_regs (struct insn_chain *chain) for (j = 0; j < n_reloads; j++) { reload_order[j] = j; - reload_spill_index[j] = -1; + if (rld[j].reg_rtx != NULL_RTX) + { + gcc_assert (REG_P (rld[j].reg_rtx) + && HARD_REGISTER_P (rld[j].reg_rtx)); + reload_spill_index[j] = REGNO (rld[j].reg_rtx); + } + else + reload_spill_index[j] = -1; if (rld[j].nregs > 1) {