ira-color.c (ira_fast_allocation): Permit global allocno allocation.
authorVladimir Makarov <vmakarov@redhat.com>
Sat, 6 Sep 2008 00:39:58 +0000 (00:39 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Sat, 6 Sep 2008 00:39:58 +0000 (00:39 +0000)
2008-09-04  Vladimir Makarov  <vmakarov@redhat.com>

* ira-color.c (ira_fast_allocation): Permit global allocno
allocation.

From-SVN: r140052

gcc/ChangeLog
gcc/ira-color.c

index e1e7df6801be15939f4f4d6b5b223ad6749b9824..85315b73a68529e60244708847af98bfb4d13954 100644 (file)
@@ -1,3 +1,8 @@
+2008-09-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-color.c (ira_fast_allocation): Permit global allocno
+       allocation.
+       
 2008-09-05  Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
 
        Improved branch hints, safe hints, and scheduling.
index 8afc01078eef35b68921bb60d81209491e285d12..9bda76df427c0775db8ef1ee0670ac1e4d32cfa6 100644 (file)
@@ -2985,17 +2985,13 @@ ira_fast_allocation (void)
   for (i = 0; i < num; i++)
     {
       a = sorted_allocnos[i];
-      ALLOCNO_ASSIGNED_P (a) = true;
-      ALLOCNO_HARD_REGNO (a) = -1;
-      /* Live info about hard registers are absent when OPTIMIZE==0.
-        So try to assign hard-registers only to local allocnos.  */
-      if (!optimize && REG_BASIC_BLOCK (ALLOCNO_REGNO (a)) == REG_BLOCK_GLOBAL)
-       continue;
       COPY_HARD_REG_SET (conflict_hard_regs, ALLOCNO_CONFLICT_HARD_REGS (a));
       for (r = ALLOCNO_LIVE_RANGES (a); r != NULL; r = r->next)
        for (j =  r->start; j <= r->finish; j++)
          IOR_HARD_REG_SET (conflict_hard_regs, used_hard_regs[j]);
       cover_class = ALLOCNO_COVER_CLASS (a);
+      ALLOCNO_ASSIGNED_P (a) = true;
+      ALLOCNO_HARD_REGNO (a) = -1;
       if (hard_reg_set_subset_p (reg_class_contents[cover_class],
                                 conflict_hard_regs))
        continue;