mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-29 16:38:05 +08:00
* config/tc-xtensa.h (resource_table): Change units to unsigned chars.
* config/tc-xtensa.c (new_resource_table): Likewise. (resize_resource_table): Likewise. (release_resources): Fix assertion for unsigned values.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2005-06-07 Bob Wilson <bob.wilson@acm.org>
|
||||||
|
|
||||||
|
* config/tc-xtensa.h (resource_table): Change units to unsigned chars.
|
||||||
|
* config/tc-xtensa.c (new_resource_table): Likewise.
|
||||||
|
(resize_resource_table): Likewise.
|
||||||
|
(release_resources): Fix assertion for unsigned values.
|
||||||
|
|
||||||
2005-06-07 Zack Weinberg <zack@codesourcery.com>
|
2005-06-07 Zack Weinberg <zack@codesourcery.com>
|
||||||
|
|
||||||
* cgen.c, cgen.h, tc.h, write.c, config/obj-coff.c
|
* cgen.c, cgen.h, tc.h, write.c, config/obj-coff.c
|
||||||
|
@ -5788,9 +5788,9 @@ new_resource_table (void *data,
|
|||||||
rt->opcode_unit_use = ouuf;
|
rt->opcode_unit_use = ouuf;
|
||||||
rt->opcode_unit_stage = ousf;
|
rt->opcode_unit_stage = ousf;
|
||||||
|
|
||||||
rt->units = (char **) xcalloc (cycles, sizeof (char *));
|
rt->units = (unsigned char **) xcalloc (cycles, sizeof (unsigned char *));
|
||||||
for (i = 0; i < cycles; i++)
|
for (i = 0; i < cycles; i++)
|
||||||
rt->units[i] = (char *) xcalloc (nu, sizeof (char));
|
rt->units[i] = (unsigned char *) xcalloc (nu, sizeof (unsigned char));
|
||||||
|
|
||||||
return rt;
|
return rt;
|
||||||
}
|
}
|
||||||
@ -5820,11 +5820,13 @@ resize_resource_table (resource_table *rt, int cycles)
|
|||||||
old_cycles = rt->allocated_cycles;
|
old_cycles = rt->allocated_cycles;
|
||||||
rt->allocated_cycles = cycles;
|
rt->allocated_cycles = cycles;
|
||||||
|
|
||||||
rt->units = xrealloc (rt->units, sizeof (char *) * rt->allocated_cycles);
|
rt->units = xrealloc (rt->units,
|
||||||
|
rt->allocated_cycles * sizeof (unsigned char *));
|
||||||
for (i = 0; i < old_cycles; i++)
|
for (i = 0; i < old_cycles; i++)
|
||||||
rt->units[i] = xrealloc (rt->units[i], sizeof (char) * rt->num_units);
|
rt->units[i] = xrealloc (rt->units[i],
|
||||||
|
rt->num_units * sizeof (unsigned char));
|
||||||
for (i = old_cycles; i < cycles; i++)
|
for (i = old_cycles; i < cycles; i++)
|
||||||
rt->units[i] = xcalloc (rt->num_units, sizeof (char));
|
rt->units[i] = xcalloc (rt->num_units, sizeof (unsigned char));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -5876,8 +5878,8 @@ release_resources (resource_table *rt, xtensa_opcode opcode, int cycle)
|
|||||||
{
|
{
|
||||||
xtensa_funcUnit unit = (rt->opcode_unit_use) (rt->data, opcode, i);
|
xtensa_funcUnit unit = (rt->opcode_unit_use) (rt->data, opcode, i);
|
||||||
int stage = (rt->opcode_unit_stage) (rt->data, opcode, i);
|
int stage = (rt->opcode_unit_stage) (rt->data, opcode, i);
|
||||||
|
assert (rt->units[stage + cycle][unit] > 0);
|
||||||
rt->units[stage + cycle][unit]--;
|
rt->units[stage + cycle][unit]--;
|
||||||
assert (rt->units[stage + cycle][unit] >= 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -418,7 +418,7 @@ typedef struct
|
|||||||
opcode_num_units_func opcode_num_units;
|
opcode_num_units_func opcode_num_units;
|
||||||
opcode_funcUnit_use_unit_func opcode_unit_use;
|
opcode_funcUnit_use_unit_func opcode_unit_use;
|
||||||
opcode_funcUnit_use_stage_func opcode_unit_stage;
|
opcode_funcUnit_use_stage_func opcode_unit_stage;
|
||||||
char **units;
|
unsigned char **units;
|
||||||
} resource_table;
|
} resource_table;
|
||||||
|
|
||||||
resource_table *new_resource_table
|
resource_table *new_resource_table
|
||||||
|
Reference in New Issue
Block a user