[PATCH] Rework description of DFA scheduler's max_issue()

Eric Botcazou ebotcazou@libertysurf.fr
Tue Jun 3 22:27:00 GMT 2003


> The algorithm has been reworked already.  The solution is on the main
> line.  The complexity of the algorithm has been decreased significantly
> (in several thousand times for the test case).

Unfortunately that's not enough to fix the regression: the testcase takes at 
least 20 minutes (I stopped it) on mainline 20030528 with a cross-compiler 
from x86, so imagine on HyperSPARC...

> The idea of the algorithm is good (and it really improves code, e.g. 2%
> for SPEICNT2000 for itanium).  But the implementation still should be
> better (insn scheduling complexity can not be less power of two, the
> current worst case complexity of max_issue is of power maxlookahead).

That's precisely what I'd like to be added to the description of the 
function: that MAX_LOOKAHEAD**n is the expected worst case behaviour.

> Another approach is to constrain numbers of tries (I guess that is what
> you probably working on).

No, I'm trying to fix the scheduler description for HyperSPARC because I 
think it is the culprit: all the arithmetic instructions are simply not 
taken into account. Declaring a reservation for them makes the problem go 
away.

> It is shame for me that I still did not implement this (but I don't see
> there is such problem for new max_issue variant on all tests which I tried
> including yours).

Hum... are you sure you compiled for HyperSPARC?

-- 
Eric Botcazou



More information about the Gcc-patches mailing list