https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88796
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Mon Jan 14 12:01:01 2019 New Revision: 267916 URL: https://gcc.gnu.org/viewcvs?rev=267916&root=gcc&view=rev Log: PR rtl-optimization/88796 * emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field. * cfgexpand.c (stack_protect_prologue): Initialize crtl->stack_protect_guard_decl. * function.c (stack_protect_epilogue): Use it instead of calling targetm.stack_protect_guard again. * dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from MEMs with MEM_EXPR equal to crtl->stack_protect_guard or crtl->stack_protect_guard_decl. * config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE on the returned MEM_EXPR. * gcc.target/i386/pr88796.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr88796.c Modified: trunk/gcc/ChangeLog trunk/gcc/cfgexpand.c trunk/gcc/config/i386/i386.c trunk/gcc/dse.c trunk/gcc/emit-rtl.h trunk/gcc/function.c trunk/gcc/testsuite/ChangeLog