diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-09 21:34:22 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-09 21:34:22 +0000 |
commit | 100329af4652d5bbb46e7832767e4d9d65f2de04 (patch) | |
tree | 6fd2a5d0f9646278f03352cbe2ed0a2eb19302a8 /gcc/regrename.c | |
parent | 1ef48c9d67b7aee978c2a78d0a4b8dbc90a5db50 (diff) | |
download | gcc-100329af4652d5bbb46e7832767e4d9d65f2de04.tar.gz |
* regrename.c (regrename_optimize): Fix dumping.
(find_oldest_value_reg): Preserve REG_POINTER.
(copy_hardreg_forward_1): Likewise.
process_init_element callers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143235 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regrename.c')
-rw-r--r-- | gcc/regrename.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/regrename.c b/gcc/regrename.c index 83fd605fcb4..2da42c38ecb 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -340,12 +340,12 @@ regrename_optimize (void) continue; } + if (dump_file) + fprintf (dump_file, ", renamed as %s\n", reg_names[best_new_reg]); + do_replace (this_du, best_new_reg); tick[best_new_reg] = ++this_tick; df_set_regs_ever_live (best_new_reg, true); - - if (dump_file) - fprintf (dump_file, ", renamed as %s\n", reg_names[best_new_reg]); } obstack_free (&rename_obstack, first_obj); @@ -1388,6 +1388,7 @@ find_oldest_value_reg (enum reg_class cl, rtx reg, struct value_data *vd) { ORIGINAL_REGNO (new_rtx) = ORIGINAL_REGNO (reg); REG_ATTRS (new_rtx) = REG_ATTRS (reg); + REG_POINTER (new_rtx) = REG_POINTER (reg); return new_rtx; } } @@ -1686,6 +1687,7 @@ copyprop_hardreg_forward_1 (basic_block bb, struct value_data *vd) { ORIGINAL_REGNO (new_rtx) = ORIGINAL_REGNO (src); REG_ATTRS (new_rtx) = REG_ATTRS (src); + REG_POINTER (new_rtx) = REG_POINTER (src); if (dump_file) fprintf (dump_file, "insn %u: replaced reg %u with %u\n", |