diff options
author | Shiva Chen <shiva0217@gmail.com> | 2013-04-23 17:38:59 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2013-04-23 17:38:59 +0000 |
commit | d70a81dddc916c55892c5b73bed2138b71bd5945 (patch) | |
tree | 17afa8226cdc7da00b678c19aa87047ca1ddfd18 /gcc/lra.c | |
parent | b894a1f3464f4f56ce2318c019ec3855794f7118 (diff) | |
download | gcc-d70a81dddc916c55892c5b73bed2138b71bd5945.zip gcc-d70a81dddc916c55892c5b73bed2138b71bd5945.tar.gz gcc-d70a81dddc916c55892c5b73bed2138b71bd5945.tar.bz2 |
lra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p to check the register content is equal or not.
2013-04-23 Shiva Chen <shiva0217@gmail.com>
* lra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p
to check the register content is equal or not.
* lra-constraints.c (match_reload): Use lra_assign_reg_val
to assign register content record.
* lra-eliminations.c (update_reg_eliminate): Use
lra_update_reg_val_offset to update register content offset.
* lra-int.h (struct lra_reg): Add offset member.
(lra_reg_val_equal_p): New static inline function.
(lra_update_reg_val_offset): New static inline function.
(lra_assign_reg_val): New static inline function.
* lra.c (lra_create_new_reg): Use lra_assign_reg_val
to assign register content record.
(initialize_lra_reg_info_element): Initial offset to zero.
From-SVN: r198204
Diffstat (limited to 'gcc/lra.c')
-rw-r--r-- | gcc/lra.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -194,7 +194,7 @@ lra_create_new_reg (enum machine_mode md_mode, rtx original, new_reg = lra_create_new_reg_with_unique_value (md_mode, original, rclass, title); if (original != NULL_RTX && REG_P (original)) - lra_reg_info[REGNO (new_reg)].val = lra_reg_info[REGNO (original)].val; + lra_assign_reg_val (REGNO (original), REGNO (new_reg)); return new_reg; } @@ -1392,6 +1392,7 @@ initialize_lra_reg_info_element (int i) lra_reg_info[i].last_reload = 0; lra_reg_info[i].restore_regno = -1; lra_reg_info[i].val = get_new_reg_value (); + lra_reg_info[i].offset = 0; lra_reg_info[i].copies = NULL; } |