aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-constraints.c
diff options
context:
space:
mode:
authorShiva Chen <shiva0217@gmail.com>2013-04-23 17:38:59 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2013-04-23 17:38:59 +0000
commitd70a81dddc916c55892c5b73bed2138b71bd5945 (patch)
tree17afa8226cdc7da00b678c19aa87047ca1ddfd18 /gcc/lra-constraints.c
parentb894a1f3464f4f56ce2318c019ec3855794f7118 (diff)
downloadgcc-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-constraints.c')
-rw-r--r--gcc/lra-constraints.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index 9e4924c..7cc7081 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -704,7 +704,7 @@ match_reload (signed char out, signed char *ins, enum reg_class goal_class,
pseudos still live where reload pseudos dies. */
if (REG_P (in_rtx) && (int) REGNO (in_rtx) < lra_new_regno_start
&& find_regno_note (curr_insn, REG_DEAD, REGNO (in_rtx)))
- lra_reg_info[REGNO (reg)].val = lra_reg_info[REGNO (in_rtx)].val;
+ lra_assign_reg_val (REGNO (in_rtx), REGNO (reg));
}
else
{
@@ -733,8 +733,7 @@ match_reload (signed char out, signed char *ins, enum reg_class goal_class,
&& GET_MODE (subreg_reg) == outmode
&& SUBREG_BYTE (in_rtx) == SUBREG_BYTE (new_in_reg)
&& find_regno_note (curr_insn, REG_DEAD, REGNO (subreg_reg)))
- lra_reg_info[REGNO (reg)].val
- = lra_reg_info[REGNO (subreg_reg)].val;
+ lra_assign_reg_val (REGNO (subreg_reg), REGNO (reg));
}
}
}