summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-19 18:22:14 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-19 18:22:14 +0000
commitfe15436a170eefce0fadb5171fc97816bfafe0b4 (patch)
tree090e4563f9c015a1efbffa5ab3e9956748433af7
parent2ac51e484bc36b77832c9cde011095e60c1e08f8 (diff)
downloadppe42-gcc-fe15436a170eefce0fadb5171fc97816bfafe0b4.tar.gz
ppe42-gcc-fe15436a170eefce0fadb5171fc97816bfafe0b4.zip
* ira-color.c (allocno_reload_assign): Avoid accumulating
reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158524 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ira-color.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b21d8c56509..18374f038a4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-color.c (allocno_reload_assign): Avoid accumulating
+ reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
+
2010-04-19 Martin Jambor <mjambor@suse.cz>
* gimple.h (create_tmp_reg): Declare.
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index f507db18aee..e01a6abdb47 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -2786,7 +2786,9 @@ allocno_reload_assign (ira_allocno_t a, HARD_REG_SET forbidden_regs)
int hard_regno;
enum reg_class cover_class;
int regno = ALLOCNO_REGNO (a);
+ HARD_REG_SET saved;
+ COPY_HARD_REG_SET (saved, ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a));
IOR_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a), forbidden_regs);
if (! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
IOR_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a), call_used_reg_set);
@@ -2830,7 +2832,7 @@ allocno_reload_assign (ira_allocno_t a, HARD_REG_SET forbidden_regs)
}
else if (internal_flag_ira_verbose > 3 && ira_dump_file != NULL)
fprintf (ira_dump_file, "\n");
-
+ COPY_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a), saved);
return reg_renumber[regno] >= 0;
}
OpenPOWER on IntegriCloud