Effect of SMS register move scheduling

Richard Sandiford richard.sandiford at linaro.org
Thu Aug 25 10:04:59 UTC 2011


Revital Eres <revital.eres at linaro.org> writes:
>> mjpegenc is another case where SMS generates lots of spilling while the
>> normal scheduler doesn't.
>
> Yes, I also noticed that. When I tested it only one reg-move was
> created so the scheduling patch would not effect on it.

FWIW, looking at the results I posted yesterday, the scheduling patch
did improve the results compared with the non-scheduling patch:

    mjpegenc
      before:  500000 runs take 28.6987s
      after:   500000 runs take 7.31342s
      speedup: x3.92

That single register move wasn't schedulable within the current ii,
so the patch used a higher ii without the move.  Unfortunately,
while the new loop needs fewer spills, it doesn't avoid them completely.

So I think mjpegenc needs both: the scheduling patch and a fix for
the register pressure problem.

Richard



More information about the linaro-toolchain mailing list