summaryrefslogtreecommitdiff
path: root/gcc/global.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-02-27 16:30:14 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-02-27 16:30:14 +0000
commit785b2d24dc018a19680feb0678e4f323609cf987 (patch)
tree207c0275d73733f8fb6d6b977cd52f106ae9a1bc /gcc/global.c
parent644b7df8f8c2e7ee41960d51261767b489d980a6 (diff)
downloadgcc-785b2d24dc018a19680feb0678e4f323609cf987.tar.gz
(allocno_compare): Give multi-word regs higher priority, as stated in
the comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6650 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/global.c')
-rw-r--r--gcc/global.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/global.c b/gcc/global.c
index 1a9158a073f..eec9ed2c244 100644
--- a/gcc/global.c
+++ b/gcc/global.c
@@ -1,5 +1,5 @@
/* Allocate registers for pseudo-registers that span basic blocks.
- Copyright (C) 1987, 1988, 1991 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1991, 1994 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -573,12 +573,12 @@ allocno_compare (v1, v2)
Multiplying this by 10000 can't overflow. */
register int pri1
= (((double) (floor_log2 (allocno_n_refs[*v1]) * allocno_n_refs[*v1])
- / (allocno_live_length[*v1] * allocno_size[*v1]))
- * 10000);
+ / allocno_live_length[*v1])
+ * 10000 * allocno_size[*v1]);
register int pri2
= (((double) (floor_log2 (allocno_n_refs[*v2]) * allocno_n_refs[*v2])
- / (allocno_live_length[*v2] * allocno_size[*v2]))
- * 10000);
+ / allocno_live_length[*v2])
+ * 10000 * allocno_size[*v2]);
if (pri2 - pri1)
return pri2 - pri1;