Effect of SMS register move scheduling
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:
before: 500000 runs take 28.6987s
after: 500000 runs take 7.31342s
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.
More information about the linaro-toolchain