On 14-01-14 20:36, Vladimir Makarov wrote: >>> Unfortunately I haven't been able to find time to work further on the >>> >>LRA part. >>> >>So if you're still willing to pick up that part, that would be great. >> > >> >Vladimir, >> > >> >I gave this a try. The attached patch works for the included test-case >> >for x86_64. >> > >> >I've bootstrapped and reg-tested the patch (in combination with the >> >other patches from the series) on x86_64. >> > >> >OK for stage1? >> > > Yes, it is ok for stage1. Thanks for not forgetting LRA and sorry for > the delay with the answer (it is not a high priority patch for me right > now). > > I believe, this patch helps to improve code also because of better > spilling into SSE regs. Spilling into SSE regs instead of memory has a > rare probability right now as all SSE regs are call clobbered. > Vladimir, After committing the original patch, Martin Liška told me on IRC that the patch broke the build with --enable-checking=release. The bit in lra_assign used the call_p field unconditionally, while the definition of the call_p field is guarded with #ifdef ENABLE_CHECKING. I've reverted the original patch, and bootstrapped and reg-tested this version of the patch, which has a simplified bit for lra_assign. The only functional difference between the patches is that we no longer add printing a debug message in lra_assign. Committed (since the difference between the approved and new patch is trivial). Thanks, - Tom