On 07/31/2016 07:42 PM, Segher Boessenkool wrote:
Unfortunately even after the previous patch there are still a few cases
where regrename creates invalid code when used together with separate
shrink-wrapping. At noreturn exits regrename thinks it can use all
callee-saved registers, but that is not true. This patch disables
regrename for functions that were separately shrink-wrapped.
2016-06-07 Segher Boessenkool <seg...@kernel.crashing.org>
* regrename.c (gate): Disable regrename if shrink_wrapped_separate
is set in crtl.
I think this (and the prior patches) are masking a deeper issue. It's
almost as if we don't have correct lifetime information and the various
return points. I'd really like to see a deeper analysis of these issues.
jeff