This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: speeding up liveness analysis ideas.
- To: Jan Hubicka <jh at suse dot cz>
- Subject: Re: speeding up liveness analysis ideas.
- From: Daniel Berlin <dan at cgsoftware dot com>
- Date: Sat, 20 Oct 2001 12:06:09 -0400
- Cc: rth at cygnus dot com, gcc at gcc dot gnu dot org
On Saturday, October 20, 2001, at 07:23 AM, Jan Hubicka wrote:
> Hi,
> Not only on Brad's testcase we spend very important amount of time in
> the
> liveness analysis. This is relatively sad score and I think we should
> try
> to improve it. It is also interesting that the times appears to be
> considerably
> worse in the current code than they was in 3.0 times and I don't recall
> any
> important change to the code possibly responsible for that.
>
>
It could just be bad bitmap set/clear ordering or something.
In fact, it's likely the cause if you are correct in that there have
been few changes to the code.
Just changing the number/spread across blocks of registers would have a
significant impact on the speed of the bitmap operations.
Once they fall out of the current bitmap element, it's linear.
> Here are several assorted ideas what I think can help
>
> 1) Use df.c module to find the references and uses - we currently spend
> quite a lot of time in mark_set_1 and for_each_rtx modules.
> Discovering all
> uses/sets at once before relaxation process can be good idea...
Yup.
> 2) Reverse topological order the blocks for relaxation progress
> - this should help any iterative dataflow..
Yup.