aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2008-09-06 00:39:58 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2008-09-06 00:39:58 +0000
commit6b8d9676607e7472a5e4cd772ec814a29b02658d (patch)
tree2c221c698d2666c09fcb85e0a82bc2242ca657d2 /gcc
parent67a43c6e4330f3c5727f7c61b089022512fd659e (diff)
downloadgcc-6b8d9676607e7472a5e4cd772ec814a29b02658d.zip
gcc-6b8d9676607e7472a5e4cd772ec814a29b02658d.tar.gz
gcc-6b8d9676607e7472a5e4cd772ec814a29b02658d.tar.bz2
ira-color.c (ira_fast_allocation): Permit global allocno allocation.
2008-09-04 Vladimir Makarov <vmakarov@redhat.com> * ira-color.c (ira_fast_allocation): Permit global allocno allocation. From-SVN: r140052
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ira-color.c8
2 files changed, 7 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e1e7df6..85315b7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index 8afc010..9bda76d 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -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;