URL
https://opencores.org/ocsvn/or1k/or1k/trunk
[/] [or1k/] [trunk/] [or1ksim/] [cuc/] [memory.c] - Diff between revs 937 and 941
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 937 |
Rev 941 |
Line 23... |
Line 23... |
#include <assert.h>
|
#include <assert.h>
|
#include "sim-config.h"
|
#include "sim-config.h"
|
#include "cuc.h"
|
#include "cuc.h"
|
#include "insn.h"
|
#include "insn.h"
|
|
|
|
|
|
/* Cleans memory & data dependencies */
|
|
void clean_deps (cuc_func *f)
|
|
{
|
|
int b, i;
|
|
dep_list *t;
|
|
for (b = 0; b < f->num_bb; b++) {
|
|
for (i = 0; i < f->bb[b].ninsn; i++) {
|
|
t = f->bb[b].insn[i].dep;
|
|
while (t) {
|
|
dep_list *tmp = t;
|
|
t = t->next;
|
|
free (tmp);
|
|
}
|
|
f->bb[b].insn[i].dep = NULL;
|
|
}
|
|
|
|
t = f->bb[b].mdep;
|
|
while (t) {
|
|
dep_list *tmp = t;
|
|
t = t->next;
|
|
free (tmp);
|
|
}
|
|
f->bb[b].mdep = NULL;
|
|
}
|
|
|
|
f->nmsched = 0;
|
|
}
|
|
|
/* Checks for memory conflicts between two instructions; returns 1 if detected
|
/* Checks for memory conflicts between two instructions; returns 1 if detected
|
0 - exact; 1 - strong; 2 - weak; 3 - none */
|
0 - exact; 1 - strong; 2 - weak; 3 - none */
|
static int check_memory_conflict (cuc_func *f, cuc_insn *a, cuc_insn *b, int otype)
|
static int check_memory_conflict (cuc_func *f, cuc_insn *a, cuc_insn *b, int otype)
|
{
|
{
|
switch (otype) {
|
switch (otype) {
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.