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

Subversion Repositories or1k

[/] [or1k/] [branches/] [stable_0_2_x/] [or1ksim/] [cuc/] [bb.c] - Diff between revs 936 and 939

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

Rev 936 Rev 939
Line 970... Line 970...
    for (i = 0; i < f->bb[b].ninsn; i++)
    for (i = 0; i < f->bb[b].ninsn; i++)
      if (f->bb[b].insn[i].type & IT_UNUSED) change_insn_type (&f->bb[b].insn[i], II_NOP);
      if (f->bb[b].insn[i].type & IT_UNUSED) change_insn_type (&f->bb[b].insn[i], II_NOP);
 
 
  /* SSAs with final register value are marked as outputs */
  /* SSAs with final register value are marked as outputs */
  assert (f->bb[f->num_bb - 1].type & BB_END);
  assert (f->bb[f->num_bb - 1].type & BB_END);
  for (i = 0; i < MAX_REGS; i++) if (!call_saved[i]) {
  for (i = 0; i < MAX_REGS; i++) if (!caller_saved[i]) {
 
    int t = f->bb[f->num_bb - 1].last_used_reg[i];
 
    /* Mark them volatile, so optimizer does not remove them */
 
    if (t >= 0) f->bb[REF_BB(t)].insn[REF_I(t)].type |= IT_OUTPUT;
 
  }
 
  {
    int t = f->bb[f->num_bb - 1].last_used_reg[i];
    int t = f->bb[f->num_bb - 1].last_used_reg[i];
    /* Mark them volatile, so optimizer does not remove them */
    /* Mark them volatile, so optimizer does not remove them */
    if (t >= 0) f->bb[REF_BB(t)].insn[REF_I(t)].type |= IT_OUTPUT;
    if (t >= 0) f->bb[REF_BB(t)].insn[REF_I(t)].type |= IT_OUTPUT;
  }
  }
}
}

powered by: WebSVN 2.1.0

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