x86: Properly check saved register CFA offset
commita1da2b135c6432590d657de7761860b8fbddb99c
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Jul 2017 19:13:23 +0000 (26 19:13 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Jul 2017 19:13:23 +0000 (26 19:13 +0000)
treee0af4bc0092b8bb4f35312a7eba772cf30f8a203
parentb11697e626d27059d144c7210021b22987627e77
x86: Properly check saved register CFA offset

X86 prologue saves register at CFA offset.  Since its location on stack
is computed as CFA - its CFA_OFFSET, CFA_OFFSET points the end of the
saved register area on stack.  This patch updates sp_valid_at and
fp_valid_at to properly check saved register CFA offset.

gcc/

PR target/81563
* config/i386/i386.c (sp_valid_at): Properly check CFA offset.
(fp_valid_at): Likewise.

gcc/testsuite/

PR target/81563
* gcc.target/i386/pr81563.c: New test

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