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
