rtl_data: Add sp_is_clobbered_by_asm
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 14 Sep 2020 15:52:27 +0000 (08:52 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 16 Sep 2020 12:26:19 +0000 (05:26 -0700)
commit453a20c65722719b9e2d84339f215e7ec87692dc
tree8daea27aac33fe804d008a44c3286bd5e13fcbc0
parentf419a0158950034ed9996ae860b0c8df03731119
rtl_data: Add sp_is_clobbered_by_asm

Add sp_is_clobbered_by_asm to rtl_data to inform backends that the stack
pointer is clobbered by asm statement.

gcc/

PR target/97032
* cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm
to true if the stack pointer is clobbered by asm statement.
* emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm.
* config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true
if the stack pointer is clobbered by asm statement.

gcc/testsuite/

PR target/97032
* gcc.target/i386/pr97032.c: New test.
gcc/cfgexpand.c
gcc/config/i386/i386.c
gcc/emit-rtl.h
gcc/testsuite/gcc.target/i386/pr97032.c [new file with mode: 0644]