diff options
| author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-19 18:22:14 +0000 |
|---|---|---|
| committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-19 18:22:14 +0000 |
| commit | fe15436a170eefce0fadb5171fc97816bfafe0b4 (patch) | |
| tree | 090e4563f9c015a1efbffa5ab3e9956748433af7 | |
| parent | 2ac51e484bc36b77832c9cde011095e60c1e08f8 (diff) | |
| download | ppe42-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/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/ira-color.c | 4 |
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; } |

