summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 34f495468cc..36fb75b4ca8 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1651,10 +1651,10 @@ calculate_needs (chain, avoid_return_reg, global)
}
else if (size == 1)
{
- this_needs->regs[reload_nongroup[i]][(int) class] += 1;
+ this_needs->regs[(unsigned char)reload_nongroup[i]][(int) class] += 1;
p = reg_class_superclasses[(int) class];
while (*p != LIM_REG_CLASSES)
- this_needs->regs[reload_nongroup[i]][(int) *p++] += 1;
+ this_needs->regs[(unsigned char)reload_nongroup[i]][(int) *p++] += 1;
}
else
abort ();
@@ -2666,7 +2666,7 @@ set_label_offsets (x, insn, initial_p)
{
enum rtx_code code = GET_CODE (x);
rtx tem;
- int i;
+ unsigned int i;
struct elim_table *p;
switch (code)
@@ -2749,7 +2749,7 @@ set_label_offsets (x, insn, initial_p)
offsets. We want the first field for ADDR_VEC and the second
field for ADDR_DIFF_VEC. */
- for (i = 0; i < XVECLEN (x, code == ADDR_DIFF_VEC); i++)
+ for (i = 0; i < (unsigned) XVECLEN (x, code == ADDR_DIFF_VEC); i++)
set_label_offsets (XVECEXP (x, code == ADDR_DIFF_VEC, i),
insn, initial_p);
return;
@@ -3669,7 +3669,7 @@ mark_not_eliminable (dest, x)
rtx dest;
rtx x;
{
- register int i;
+ register unsigned int i;
/* A SUBREG of a hard register here is just changing its mode. We should
not see a SUBREG of an eliminable hard register, but check just in
@@ -4043,7 +4043,7 @@ hard_reg_use_compare (p1p, p2p)
static void
order_regs_for_reload ()
{
- register int i;
+ register unsigned int i;
register int o = 0;
int large = 0;
@@ -4063,7 +4063,7 @@ order_regs_for_reload ()
hard_reg_n_uses[i].regno = i;
}
- for (i = FIRST_PSEUDO_REGISTER; i < max_regno; i++)
+ for (i = FIRST_PSEUDO_REGISTER; i < (unsigned) max_regno; i++)
{
int regno = reg_renumber[i];
if (regno >= 0)
@@ -4186,7 +4186,7 @@ reload_as_needed (live_known)
/* Reset all offsets on eliminable registers to their initial values. */
#ifdef ELIMINABLE_REGS
- for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
+ for (i = 0; i < (int) NUM_ELIMINABLE_REGS; i++)
{
INITIAL_ELIMINATION_OFFSET (reg_eliminate[i].from, reg_eliminate[i].to,
reg_eliminate[i].initial_offset);
@@ -4220,7 +4220,7 @@ reload_as_needed (live_known)
if (GET_CODE (insn) == CODE_LABEL)
{
num_not_at_initial_offset = 0;
- for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
+ for (i = 0; i < (int) NUM_ELIMINABLE_REGS; i++)
{
reg_eliminate[i].offset = reg_eliminate[i].previous_offset
= offsets_at[CODE_LABEL_NUMBER (insn)][i];
@@ -6163,7 +6163,9 @@ choose_reload_regs (chain, avoid_return_reg)
if (j == n_reloads)
break;
+#if 0
fail:
+#endif
/* Loop around and try without any inheritance. */
/* First undo everything done by the failed attempt
to allocate with inheritance. */
@@ -9016,7 +9018,7 @@ reload_cse_simplify_operands (insn)
default:
class
- = reg_class_subunion[(int) class][(int) REG_CLASS_FROM_LETTER (c)];
+ = reg_class_subunion[(int) class][(int) REG_CLASS_FROM_LETTER ((unsigned char)c)];
break;
case ',': case '\0':
@@ -9546,7 +9548,7 @@ reload_combine ()
The second argument, SET, is ignored. */
static void
reload_combine_note_store (dst, set)
- rtx dst, set;
+ rtx dst, set ATTRIBUTE_UNUSED;
{
int regno = 0;
int i;
@@ -9562,7 +9564,7 @@ reload_combine_note_store (dst, set)
regno += REGNO (dst);
/* note_stores might have stripped a STRICT_LOW_PART, so we have to be
careful with registers / register parts that are not full words. */
- if (size < UNITS_PER_WORD)
+ if (size < (unsigned) UNITS_PER_WORD)
reg_state[regno].use_index = -1;
else
{
@@ -9799,7 +9801,6 @@ reload_cse_move2add (first)
&& XEXP (SET_SRC (set), 0) == reg
&& GET_CODE (XEXP (SET_SRC (set), 1)) == CONST_INT)
{
- rtx src2 = SET_SRC (set);
rtx src3 = XEXP (SET_SRC (set), 1);
rtx new_src = GEN_INT (INTVAL (src3)
- INTVAL (reg_offset[regno]));