== This week ==
* Submitted a fix for the performance regression caused by my arm_comparison_operator patch. Applied upstream after approval from Ramana (thanks). Will backport to Linaro towards the end of next week if there are no reported problems.
* Went back to looking at -fsched-pressure. To recap, a colleague ran SPEC for s390 comparing:
(a) normal -O3 based flags (b) (a) + -fsched-pressure without my patch (c) (a) + -fsched-pressure with my patch
(c) got the best geomean result, but there were some individual tests for which (b) was significantly worse than (a), and for which (c) only partly closed the gap.
Found one problem. It looks like -fsched-pressure only really operates on the issue rate and instruction latencies; it doesn't seem to use the DFA. This seems to be unintentional, and fixing it showed some nice results.
Also, the -fsched-pressure patch that I wrote at Connect set the starting pressure based on the set of registers that are both live on entry to the block _and_ used within the enclosing loop, This still seems to be a bit too conservative, in that it makes the scheduler go out of its way to preserve loop invariants, even if there are too many of them. Experimented with changing "used" to "defined". This too seemed to be a win.
* Got access to some PowerPC GNU/Linux machines that are suitable for running SPEC. Set up my account there and got SPEC building. The idea is to use this to get more cross-target evidence for the -fsched-pressure submission(s).
* Discussion about the SMS register-scheduling patches after great feedback from Ayal. While drafting a still-unsent reply justifying the main part of the patch, I found I was also explaining why another part of the patch (specifically the prologue/epilogue part) was wrong. Thought about that a bit today.
* Submitted fix for LP 641126.
== Next week ==
* More SMS register scheduling.
* More -fsched-pressure.
* Hopefully remerge the arm_comparison_operator patch with this week's fix.
Richard