Maybe it's not a proper place to put this message. I just noticed a
mistake when I read the paper of gcc summit 2003 named "The finite
state automaton based pipeline hazard recognizer and instruction
scheduler in GCC". The first cycle multi-pass instruction scheduling
algorithm:

 ...
 if n > 0 || ReadyTry[0]
 ...

here should be

 if n > 0 && ReadyTry[0]

since 'the algorithm guarantees that the instruction with the highest
priority will be issued on the current cycle).'

Of course, implemented code in gcc is right :-)

Eric Fisher
2008-9-9

Reply via email to