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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_47/] [or1ksim/] [cuc/] [bb.c] - Diff between revs 897 and 898

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 897 Rev 898
Line 332... Line 332...
      f->bb[i].insn[j] = insn[f->bb[i].first + j - (MAX_REGS - 1)];
      f->bb[i].insn[j] = insn[f->bb[i].first + j - (MAX_REGS - 1)];
      for (k = 0; k < MAX_OPERANDS; k++)
      for (k = 0; k < MAX_OPERANDS; k++)
        if (f->bb[i].insn[j].opt[k] & OPT_REF) {
        if (f->bb[i].insn[j].opt[k] & OPT_REF) {
          int b1;
          int b1;
          for (b1 = 0; b1 < i; b1++)
          for (b1 = 0; b1 < i; b1++)
            if (f->bb[b1].first <= f->bb[i].insn[j].op[k]
            if (f->bb[b1].first <= (signed) f->bb[i].insn[j].op[k]
              && f->bb[i].insn[j].op[k] <= f->bb[b1].last) break;
              && (signed)f->bb[i].insn[j].op[k] <= f->bb[b1].last) break;
          assert (b1 < f->num_bb);
          assert (b1 < f->num_bb);
          f->bb[i].insn[j].op[k] = REF (b1, f->bb[i].insn[j].op[k] - f->bb[b1].first + MAX_REGS - 1);
          f->bb[i].insn[j].op[k] = REF (b1, f->bb[i].insn[j].op[k] - f->bb[b1].first + MAX_REGS - 1);
        }
        }
      if (f->bb[i].insn[j].type & IT_MEMORY) f->bb[i].nmemory++;
      if (f->bb[i].insn[j].type & IT_MEMORY) f->bb[i].nmemory++;
    }
    }
Line 347... Line 347...
  for (i = 0; i < f->num_bb; i++)
  for (i = 0; i < f->num_bb; i++)
    for (j = 0; j < f->bb[i].ninsn; j++)
    for (j = 0; j < f->bb[i].ninsn; j++)
      for (k = 0; k < MAX_OPERANDS; k++)
      for (k = 0; k < MAX_OPERANDS; k++)
        if (f->bb[i].insn[j].opt[k] & OPT_REF) {
        if (f->bb[i].insn[j].opt[k] & OPT_REF) {
          int t = f->bb[i].insn[j].op[k];
          int t = f->bb[i].insn[j].op[k];
          assert (REF_I (t) < f->bb[REF_BB(t)].ninsn);
          if (REF_I (t) >= f->bb[REF_BB(t)].ninsn) {
 
            printf ("Anomaly detected at %x.%x[%i]\n", i, j, k);
 
            print_cuc_bb (f, "ANOMALY");
 
            exit (1);
 
          }
        }
        }
}
}
 
 
/* type == 0; keep predecessor condition
/* type == 0; keep predecessor condition
 * type == 1; keep successor condition
 * type == 1; keep successor condition

powered by: WebSVN 2.1.0

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