diff options
Diffstat (limited to 'contrib/gcc/reload1.c')
-rw-r--r-- | contrib/gcc/reload1.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/gcc/reload1.c b/contrib/gcc/reload1.c index a2449da..20da1b6 100644 --- a/contrib/gcc/reload1.c +++ b/contrib/gcc/reload1.c @@ -5451,7 +5451,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) { |