}
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
}
#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);
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
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;
bool
conflict_p (int allocno1, int allocno2)
{
- int bitnum;
+ HOST_WIDE_INT bitnum;
HOST_WIDEST_FAST_INT word, mask;
#ifdef ENABLE_CHECKING
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
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);