OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [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) {

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.