On Tue, Aug 7, 2012 at 11:22 AM, Richard Guenther
<richard.guent...@gmail.com> wrote:
> Another optimization would be to do
>
> @@ -440,13 +442,13 @@ compute_global_livein (bitmap livein ATT
>               && ! bitmap_bit_p (def_blocks, pred_index)
>               && bitmap_set_bit (livein, pred_index))
>             {
> -             *tos++ = pred;
> +             VEC_safe_push (basic_block, heap, worklist, pred);
>
> thus combine the bitmap_set_bit and bitmap_bit_p tests on livein.

That's just a micro-optimization that doesn't help much, because after
the bitmap_bit_p in the if, the last accessed bitmap member is cached
and the bitmap_set_bit is almost free.

What is needed here, is a (much) smaller computed livein. In the end,
the whole set of ~140,000 livein blocks is pruned to just 3, namely
the loop exits...

Ciao!
Steven

Reply via email to