diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-11-20 09:34:43 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2012-11-20 09:34:43 +0100 |
commit | 40155239d684ae96712d34f3f4dcc88eef4fc99d (patch) | |
tree | b8e399f48378d1d27ec4ce799592476990e6187c /gcc/cselib.h | |
parent | 4ced1d6de8b7ad914c4ea6fdb3121487d298c9e0 (diff) | |
download | gcc-40155239d684ae96712d34f3f4dcc88eef4fc99d.zip gcc-40155239d684ae96712d34f3f4dcc88eef4fc99d.tar.gz gcc-40155239d684ae96712d34f3f4dcc88eef4fc99d.tar.bz2 |
re PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer -fsched2-use-superblocks -fstack-protector -ftree-slp-vectorize)
PR rtl-optimization/54921
* cselib.h (fp_setter_insn): New prototype.
* cselib.c (fp_setter_insn): New function.
(cselib_process_insn): If frame_pointer_needed,
call cselib_invalidate_rtx (stack_pointer_rtx) after
processing a frame pointer setter.
* var-tracking.c (fp_setter): Removed.
(vt_initialize): Use fp_setter_insn instead of fp_setter.
* gcc.dg/pr54921.c: New test.
From-SVN: r193647
Diffstat (limited to 'gcc/cselib.h')
-rw-r--r-- | gcc/cselib.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cselib.h b/gcc/cselib.h index 95fdbf7..b717c95 100644 --- a/gcc/cselib.h +++ b/gcc/cselib.h @@ -78,6 +78,7 @@ extern void cselib_init (int); extern void cselib_clear_table (void); extern void cselib_finish (void); extern void cselib_process_insn (rtx); +extern bool fp_setter_insn (rtx); extern enum machine_mode cselib_reg_set_mode (const_rtx); extern int rtx_equal_for_cselib_p (rtx, rtx); extern int references_value_p (const_rtx, int); |