diff options
| author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-07 01:20:04 +0000 |
|---|---|---|
| committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-07 01:20:04 +0000 |
| commit | 83d9f7763f1c06b080ce0e8ba78f7ae7938fda8f (patch) | |
| tree | c728b29df1166939da2bee8ea8edd87016334bf3 | |
| parent | 652147b325071f0a296342a5a96ce0f3a95dd383 (diff) | |
| download | ppe42-gcc-83d9f7763f1c06b080ce0e8ba78f7ae7938fda8f.tar.gz ppe42-gcc-83d9f7763f1c06b080ce0e8ba78f7ae7938fda8f.zip | |
* regrename.c (do_replace, find_oldest_value_reg,
copyprop_hardreg_forward_1): Update register attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62509 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/regrename.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a288d5292d..948e11df577 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Feb 7 02:18:57 CET 2003 Jan Hubicka <jh@suse.cz> + + * regrename.c (do_replace, find_oldest_value_reg, + copyprop_hardreg_forward_1): Update register attributes. + 2003-02-06 Vladimir Makarov <vmakarov@redhat.com> * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD, diff --git a/gcc/regrename.c b/gcc/regrename.c index dce0e898751..027e2f444b7 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -377,9 +377,12 @@ do_replace (chain, reg) while (chain) { unsigned int regno = ORIGINAL_REGNO (*chain->loc); + struct reg_attrs * attr = REG_ATTRS (*chain->loc); + *chain->loc = gen_raw_REG (GET_MODE (*chain->loc), reg); if (regno >= FIRST_PSEUDO_REGISTER) ORIGINAL_REGNO (*chain->loc) = regno; + REG_ATTRS (*chain->loc) = attr; chain = chain->next_use; } } @@ -1393,6 +1396,7 @@ find_oldest_value_reg (class, reg, vd) regno))) { ORIGINAL_REGNO (new) = ORIGINAL_REGNO (reg); + REG_ATTRS (new) = REG_ATTRS (reg); return new; } } @@ -1686,6 +1690,7 @@ copyprop_hardreg_forward_1 (bb, vd) if (validate_change (insn, &SET_SRC (set), new, 0)) { ORIGINAL_REGNO (new) = ORIGINAL_REGNO (src); + REG_ATTRS (new) = REG_ATTRS (src); if (rtl_dump_file) fprintf (rtl_dump_file, "insn %u: replaced reg %u with %u\n", |

