Steven Bosscher wrote:

On 2/12/07, Vladimir Makarov <[EMAIL PROTECTED]> wrote:

  I like df infrastructure code from the day one for its clearness.
Unfortunately users don't see it and probably don't care about it.
With my point of view the df infrastructure has a design flaw.  It
extracts a lot of information about RTL and keep it on the side.  It
does not make the code fast.


It also does not make code slow.  And the data it extracts and keeps
on the side, could be used to simplify many algorithms in gcc (most
notably, cprop, mode switching, and regmove).  There is a tremendous
potential for speedups in RTL passes if they start using the df
register caches, instead of traversing the PATTERN of every insn.

In some passes RTL is scanned once. For example, insn scheduler now does it once to build the data dependency. In this case the df scans RTL once + writes and reads the df structures and always loosing in the speed.

I know some work is being done on incremental df analysis. It could decrease time for rescanning RTL between passes. Let us hope on this.



Reply via email to