[new-regalloc] Dataflow too slow...
Daniel Berlin
dberlin@redhat.com
Sat Feb 3 15:33:00 GMT 2001
>
> 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.
>
More information about the Gcc
mailing list