PR target/83641
commitbea3dcc9d5b1de69dc5b18ad8490716b924294a3
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Jan 2018 21:25:10 +0000 (3 21:25 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Jan 2018 21:25:10 +0000 (3 21:25 +0000)
treeb9a574fdad7d1e20dfd6905d89379d0a719e9370
parent41e610339807335dcb72c8f796167f7bb6ce7147
PR target/83641
* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): For
noreturn probe, use gen_pop instead of ix86_emit_restore_reg_using_pop,
only set RTX_FRAME_RELATED_P on both the push and pop if cfa_reg is sp
and add REG_CFA_ADJUST_CFA notes in that case to both insns.

PR target/83641
* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): Do not
explicitly probe *sp in a noreturn function if there were any callee
register saves or frame pointer is needed.

PR target/83641
* gcc.target/i386/stack-check-17.c: New test.
* gcc.target/i386/stack-check-12.c: Drop unnecessary asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256191 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/stack-check-12.c
gcc/testsuite/gcc.target/i386/stack-check-17.c [new file with mode: 0644]