This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [new-regalloc] Dataflow too slow...


>
> In order to reach (the best possible) O(N+2) with N == maximal number of
> backedges in a acyclic path, one needs to use reverse completion order
> (the second argument of flow_depth_first_order_compute), _not_ DFS order.
>
Yeah that's I meant, i wrote the wrong thing in the email
The routine looks like this (at this moment, before i add queues)

static int
df_visit_next (df, blocks)
     struct df *df ATTRIBUTE_UNUSED;
     sbitmap blocks;
{
  int i=0;
  for (i = 0; i < n_basic_blocks; i++)
    if (TEST_BIT (blocks, df->rc_order[i]))
      return df->rc_order[i];
  return sbitmap_first_set_bit (blocks);
}
> Additionally df.* shouldn't use (s)bitmap's at all for worklists, but
> instead normal arrays as queues.
>
Duh, that's right.
When i'm sick, i forget things.
>
> Ciao,
> Michael.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]