summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-10 15:46:12 +0000
committerbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-10 15:46:12 +0000
commit9a910ab39128294e57699ed624b8824b4fcfcef4 (patch)
tree8c530bcc582dae464a7d50fbe57747e6fae1b26a /gcc
parent4ebd1df9d716889ded1e1d5e0993baa87ef74024 (diff)
downloadgcc-9a910ab39128294e57699ed624b8824b4fcfcef4.tar.gz
* ra-conflict.c (partial_bitnum, max_bitnum): Change type of variables
to HOST_WIDE_INT. (conflict_p, set_conflict, set_conflicts): Likewise. * global.c (global_alloc): Likewise. * ra.h: Update prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129211 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/global.c28
-rw-r--r--gcc/ra-conflict.c12
-rw-r--r--gcc/ra.h4
4 files changed, 32 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d8a7801ae7e..e659b1ebf75 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2007-10-10 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ra-conflict.c (partial_bitnum, max_bitnum): Change type of variables
+ to HOST_WIDE_INT.
+ (conflict_p, set_conflict, set_conflicts): Likewise.
+ * global.c (global_alloc): Likewise.
+ * ra.h: Update prototypes.
+
2007-10-10 Wolfgang Gellerich <gellerich@de.ibm.com>
* opth-gen.awk: Fixed generation of comment stating the origin
diff --git a/gcc/global.c b/gcc/global.c
index f1964f4fc1d..1dc63d350fe 100644
--- a/gcc/global.c
+++ b/gcc/global.c
@@ -389,7 +389,7 @@ global_alloc (void)
}
allocno = XCNEWVEC (struct allocno, max_allocno);
- partial_bitnum = XNEWVEC (int, max_allocno);
+ partial_bitnum = XNEWVEC (HOST_WIDE_INT, max_allocno);
num_allocnos_per_blk = XCNEWVEC (int, max_blk + 1);
/* ...so we can sort them in the order we want them to receive
@@ -432,12 +432,14 @@ global_alloc (void)
}
#ifdef ENABLE_CHECKING
- gcc_assert (max_bitnum <= ((max_allocno * (max_allocno - 1)) / 2));
+ gcc_assert (max_bitnum <=
+ (((HOST_WIDE_INT) max_allocno *
+ ((HOST_WIDE_INT) max_allocno - 1)) / 2));
#endif
if (dump_file)
{
- int num_bits, num_bytes, actual_bytes;
+ HOST_WIDE_INT num_bits, num_bytes, actual_bytes;
fprintf (dump_file, "## max_blk: %d\n", max_blk);
fprintf (dump_file, "## max_regno: %d\n", max_regno);
@@ -447,21 +449,23 @@ global_alloc (void)
num_bytes = CEIL (num_bits, 8);
actual_bytes = num_bytes;
fprintf (dump_file, "## Compressed triangular bitmatrix size: ");
- fprintf (dump_file, "%d bits, %d bytes\n", num_bits, num_bytes);
+ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bits, ", num_bits);
+ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bytes\n", num_bytes);
- num_bits = (max_allocno * (max_allocno - 1)) / 2;
+ num_bits = ((HOST_WIDE_INT) max_allocno *
+ ((HOST_WIDE_INT) max_allocno - 1)) / 2;
num_bytes = CEIL (num_bits, 8);
fprintf (dump_file, "## Standard triangular bitmatrix size: ");
- fprintf (dump_file, "%d bits, %d bytes [%.2f%%]\n",
- num_bits, num_bytes,
- 100.0 * ((double) actual_bytes / (double) num_bytes));
+ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bits, ", num_bits);
+ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bytes [%.2f%%]\n",
+ num_bytes, 100.0 * ((double) actual_bytes / (double) num_bytes));
- num_bits = max_allocno * max_allocno;
+ num_bits = (HOST_WIDE_INT) max_allocno * (HOST_WIDE_INT) max_allocno;
num_bytes = CEIL (num_bits, 8);
fprintf (dump_file, "## Square bitmatrix size: ");
- fprintf (dump_file, "%d bits, %d bytes [%.2f%%]\n",
- num_bits, num_bytes,
- 100.0 * ((double) actual_bytes / (double) num_bytes));
+ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bits, ", num_bits);
+ fprintf (dump_file, HOST_WIDE_INT_PRINT_DEC " bytes [%.2f%%]\n",
+ num_bytes, 100.0 * ((double) actual_bytes / (double) num_bytes));
}
/* Calculate amount of usage of each hard reg by pseudos
diff --git a/gcc/ra-conflict.c b/gcc/ra-conflict.c
index 8f35afde465..e40f484b5df 100644
--- a/gcc/ra-conflict.c
+++ b/gcc/ra-conflict.c
@@ -49,8 +49,8 @@ int max_allocno;
struct allocno *allocno;
HOST_WIDEST_FAST_INT *conflicts;
int *reg_allocno;
-int *partial_bitnum;
-int max_bitnum;
+HOST_WIDE_INT *partial_bitnum;
+HOST_WIDE_INT max_bitnum;
alloc_pool adjacency_pool;
adjacency_t **adjacency;
@@ -70,7 +70,7 @@ DEF_VEC_ALLOC_P(df_ref_t,heap);
bool
conflict_p (int allocno1, int allocno2)
{
- int bitnum;
+ HOST_WIDE_INT bitnum;
HOST_WIDEST_FAST_INT word, mask;
#ifdef ENABLE_CHECKING
@@ -104,7 +104,7 @@ conflict_p (int allocno1, int allocno2)
static void
set_conflict (int allocno1, int allocno2)
{
- int bitnum, index;
+ HOST_WIDE_INT bitnum, index;
HOST_WIDEST_FAST_INT word, mask;
#ifdef ENABLE_CHECKING
@@ -146,9 +146,9 @@ static void
set_conflicts (int allocno1, sparseset live)
{
int i;
- int bitnum, index;
+ HOST_WIDE_INT bitnum, index;
HOST_WIDEST_FAST_INT word, mask;
- int partial_bitnum_allocno1;
+ HOST_WIDE_INT partial_bitnum_allocno1;
#ifdef ENABLE_CHECKING
gcc_assert (allocno1 >= 0 && allocno1 < max_allocno);
diff --git a/gcc/ra.h b/gcc/ra.h
index bd4af6d2daf..d35d2013d6c 100644
--- a/gcc/ra.h
+++ b/gcc/ra.h
@@ -99,11 +99,11 @@ extern int *reg_allocno;
/* Precalculated partial bit number in the compressed triangular bit matrix.
For two allocnos, the final bit number is: partial_bitnum[LOW] + HIGH. */
-extern int *partial_bitnum;
+extern HOST_WIDE_INT *partial_bitnum;
/* Size in bits of the compressed triangular bit matrix. */
-extern int max_bitnum;
+extern HOST_WIDE_INT max_bitnum;
/* The pool to allocate the adjacency list elements from. */