diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2007-07-06 13:42:26 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2007-07-06 13:42:26 +0000 |
commit | 374d961c0df2af3d7fc3367d63daec408b09d148 (patch) | |
tree | f665accc8a8a1bf7939e3fd2f91e6a91b081ca6b /gcc/reload1.c | |
parent | de8b1dca2f7b3779dcaa217a103862ac69ed4c95 (diff) | |
download | gcc-374d961c0df2af3d7fc3367d63daec408b09d148.zip gcc-374d961c0df2af3d7fc3367d63daec408b09d148.tar.gz gcc-374d961c0df2af3d7fc3367d63daec408b09d148.tar.bz2 |
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
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 6bba280..fda1adc 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) { |