diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2010-04-19 18:22:14 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2010-04-19 12:22:14 -0600 |
commit | ec99573229c53d2c59941aa0732465e0b2629a72 (patch) | |
tree | 090e4563f9c015a1efbffa5ab3e9956748433af7 | |
parent | acd638015562cb10a9b70ba5acd0109aeba2f40b (diff) | |
download | gcc-ec99573229c53d2c59941aa0732465e0b2629a72.zip gcc-ec99573229c53d2c59941aa0732465e0b2629a72.tar.gz gcc-ec99573229c53d2c59941aa0732465e0b2629a72.tar.bz2 |
ira-color.c (allocno_reload_assign): Avoid accumulating reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
* ira-color.c (allocno_reload_assign): Avoid accumulating
reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
From-SVN: r158524
-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 b21d8c5..18374f0 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 f507db1..e01a6ab 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; } |