summaryrefslogtreecommitdiff
path: root/gcc/ira-lives.c
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-27 16:24:19 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-27 16:24:19 +0000
commit1e204c7444fe8a80a1183349ccf75766c144d626 (patch)
tree1730ad833e4ff685d5139cd97e10380194193470 /gcc/ira-lives.c
parente3fe8cc4a45fc1741723768cc784138d89ccf698 (diff)
downloadgcc-1e204c7444fe8a80a1183349ccf75766c144d626.tar.gz
2008-10-27 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37813 * ira-conflicts.c (process_regs_for_copy): Remove class subset check. * ira-int.h (ira_hard_regno_cover_class): New. * ira-lives.c (mark_reg_live, mark_reg_dead, process_bb_node_lives): Use ira_hard_regno_cover_class. * ira.c (reg_class ira_hard_regno_cover_class): New global variable. (setup_hard_regno_cover_class): New function. (ira_init): Call setup_hard_regno_cover_class. * ira-costs.c (cost_class_nums): Add comment. (find_allocno_class_costs): Initiate cost_class_nums. (setup_allocno_cover_class_and_costs): Check cost_class_nums. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141384 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-lives.c')
-rw-r--r--gcc/ira-lives.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c
index f4b2d6de42b..c908ab71338 100644
--- a/gcc/ira-lives.c
+++ b/gcc/ira-lives.c
@@ -243,7 +243,7 @@ mark_reg_live (rtx reg)
if (! TEST_HARD_REG_BIT (hard_regs_live, regno)
&& ! TEST_HARD_REG_BIT (eliminable_regset, regno))
{
- cover_class = ira_class_translate[REGNO_REG_CLASS (regno)];
+ cover_class = ira_hard_regno_cover_class[regno];
if (cover_class != NO_REGS)
{
curr_reg_pressure[cover_class]++;
@@ -308,7 +308,7 @@ mark_reg_dead (rtx reg)
{
if (TEST_HARD_REG_BIT (hard_regs_live, regno))
{
- cover_class = ira_class_translate[REGNO_REG_CLASS (regno)];
+ cover_class = ira_hard_regno_cover_class[regno];
if (cover_class != NO_REGS)
{
curr_reg_pressure[cover_class]--;
@@ -794,10 +794,9 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node)
{
enum reg_class cover_class;
- cover_class = REGNO_REG_CLASS (i);
+ cover_class = ira_hard_regno_cover_class[i];
if (cover_class == NO_REGS)
continue;
- cover_class = ira_class_translate[cover_class];
curr_reg_pressure[cover_class]++;
if (curr_bb_node->reg_pressure[cover_class]
< curr_reg_pressure[cover_class])