URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 940 |
Rev 941 |
Line 59... |
Line 59... |
|
|
/* Copies src basic block into destination */
|
/* Copies src basic block into destination */
|
cuc_bb *cpy_bb (cuc_bb *dest, cuc_bb *src)
|
cuc_bb *cpy_bb (cuc_bb *dest, cuc_bb *src)
|
{
|
{
|
int i, j;
|
int i, j;
|
|
dep_list *d;
|
assert (dest != src);
|
assert (dest != src);
|
*dest = *src;
|
*dest = *src;
|
assert (dest->insn = malloc (sizeof (cuc_insn) * src->ninsn));
|
assert (dest->insn = malloc (sizeof (cuc_insn) * src->ninsn));
|
for (i = 0; i < src->ninsn; i++)
|
for (i = 0; i < src->ninsn; i++) {
|
|
d = src->insn[i].dep;
|
dest->insn[i] = src->insn[i];
|
dest->insn[i] = src->insn[i];
|
|
dest->insn[i].dep = NULL;
|
|
while (d) {
|
|
add_dep (&dest->insn[i].dep, d->ref);
|
|
d = d->next;
|
|
}
|
|
}
|
|
|
|
d = src->mdep;
|
|
dest->mdep = NULL;
|
|
while (d) {
|
|
add_dep (&dest->mdep, d->ref);
|
|
d = d->next;
|
|
}
|
if (src->ntim) {
|
if (src->ntim) {
|
assert (dest->tim = malloc (sizeof (cuc_timings) * src->ntim));
|
assert (dest->tim = malloc (sizeof (cuc_timings) * src->ntim));
|
for (i = 0; i < src->ntim; i++) {
|
for (i = 0; i < src->ntim; i++) {
|
dest->tim[i] = src->tim[i];
|
dest->tim[i] = src->tim[i];
|
if (src->tim[i].nshared) {
|
if (src->tim[i].nshared) {
|
Line 124... |
Line 139... |
if (f->bb[b].tim && f->bb[b].ntim) free (f->bb[b].tim);
|
if (f->bb[b].tim && f->bb[b].ntim) free (f->bb[b].tim);
|
}
|
}
|
free (f);
|
free (f);
|
}
|
}
|
|
|
|
|
/* Recalculates last_used_reg */
|
/* Recalculates last_used_reg */
|
void recalc_last_used_reg (cuc_func *f, int b)
|
void recalc_last_used_reg (cuc_func *f, int b)
|
{
|
{
|
int i;
|
int i;
|
cuc_bb *bb = &f->bb[b];
|
cuc_bb *bb = &f->bb[b];
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.