diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-27 11:30:14 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-27 11:30:14 -0500 |
commit | 35b2eb0530dc364d6a7ac2b1d2a4f1a8bd3e62da (patch) | |
tree | 207c0275d73733f8fb6d6b977cd52f106ae9a1bc | |
parent | 6680889fb778ce4c022e4edbfc618693502aad80 (diff) | |
download | gcc-35b2eb0530dc364d6a7ac2b1d2a4f1a8bd3e62da.zip gcc-35b2eb0530dc364d6a7ac2b1d2a4f1a8bd3e62da.tar.gz gcc-35b2eb0530dc364d6a7ac2b1d2a4f1a8bd3e62da.tar.bz2 |
(allocno_compare): Give multi-word regs higher priority, as stated in
the comments.
From-SVN: r6650
-rw-r--r-- | gcc/global.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/global.c b/gcc/global.c index 1a9158a..eec9ed2 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; |