diff options
author | Chung-Lin Tang <cltang@codesourcery.com> | 2011-02-22 03:23:21 +0000 |
---|---|---|
committer | Chung-Lin Tang <cltang@gcc.gnu.org> | 2011-02-22 03:23:21 +0000 |
commit | 6042d1dd489cd2188a6eee867a580aa664cc742b (patch) | |
tree | 5e1480f8c01b2730da087523abdc65adcdb709be /gcc | |
parent | d18c88a8438e0404530aecca69173b18d0f4f992 (diff) | |
download | gcc-6042d1dd489cd2188a6eee867a580aa664cc742b.zip gcc-6042d1dd489cd2188a6eee867a580aa664cc742b.tar.gz gcc-6042d1dd489cd2188a6eee867a580aa664cc742b.tar.bz2 |
re PR rtl-optimization/46002 (ICE: in update_copy_costs, at ira-color.c:319 with -fira-algorithm=priority)
2011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
PR rtl-optimization/46002
* ira-color.c (update_copy_costs): Change class intersection
test to reg_class_contents[] test of 'hard_regno'.
From-SVN: r170388
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ira-color.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ce1138..a78deb0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-02-21 Chung-Lin Tang <cltang@codesourcery.com> + + PR rtl-optimization/46002 + * ira-color.c (update_copy_costs): Change class intersection + test to reg_class_contents[] test of 'hard_regno'. + 2011-02-21 Joseph Myers <joseph@codesourcery.com> * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather diff --git a/gcc/ira-color.c b/gcc/ira-color.c index 9c5f4b7..5c98ef9 100644 --- a/gcc/ira-color.c +++ b/gcc/ira-color.c @@ -292,7 +292,8 @@ update_copy_costs (ira_allocno_t allocno, bool decr_p) gcc_unreachable (); cover_class = ALLOCNO_COVER_CLASS (another_allocno); - if (! ira_reg_classes_intersect_p[rclass][cover_class] + if (! TEST_HARD_REG_BIT (reg_class_contents[cover_class], + hard_regno) || ALLOCNO_ASSIGNED_P (another_allocno)) continue; |