On 11/19/2015 12:18 AM, Jakub Jelinek wrote:
As the testcase shows, shrink-wrapping is incompatible with
ix86_static_chain_on_stack, where we rely on the very first instruction
in the (nested) function to be pushl %esi and use alternate entry
point right after that pushl instruction (one byte after the start of
the nested function). If shrink-wrapping moves the prologue somewhere else,
then this is no longer true.
PR target/67770
* config/i386/i386.md (simple_return): Disable if
ix86_static_chain_on_stack is true.
* gcc.target/i386/pr67770.c: New test.
Looks reasonable. Ok.
Bernd