From 4cdad636ddc67de92f841f23cd991f4a72c7ebd1 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 30 Aug 2019 13:20:47 +0200 Subject: [PATCH] backport: re PR rtl-optimization/88416 (ICE in in df_uses_record, at df-scan.c:3013) Backported from mainline 2018-12-13 Jakub Jelinek PR rtl-optimization/88416 * valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify even if !AUTO_INC_DEC. * gcc.target/i386/pr88416.c: New test. From-SVN: r275079 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.target/i386/pr88416.c | 5 +++++ gcc/valtrack.c | 2 -- 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/i386/pr88416.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 434031d876d0..ef7ec9bba374 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 2019-08-30 Jakub Jelinek Backported from mainline + 2018-12-13 Jakub Jelinek + + PR rtl-optimization/88416 + * valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify + even if !AUTO_INC_DEC. + 2018-12-07 Jakub Jelinek PR target/85593 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index de812b062a02..5e9a10d5d50c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2019-08-30 Jakub Jelinek Backported from mainline + 2018-12-13 Jakub Jelinek + + PR rtl-optimization/88416 + * gcc.target/i386/pr88416.c: New test. + 2018-12-07 Jakub Jelinek PR c++/86669 diff --git a/gcc/testsuite/gcc.target/i386/pr88416.c b/gcc/testsuite/gcc.target/i386/pr88416.c new file mode 100644 index 000000000000..3ab475929d7d --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr88416.c @@ -0,0 +1,5 @@ +/* PR rtl-optimization/88416 */ +/* { dg-do compile } */ +/* { dg-options "-O1 -fvar-tracking-assignments -fno-forward-propagate --param max-cse-insns=1" } */ + +#include "writeeflags-1.c" diff --git a/gcc/valtrack.c b/gcc/valtrack.c index 9dcf135e167f..46b59519b3de 100644 --- a/gcc/valtrack.c +++ b/gcc/valtrack.c @@ -56,8 +56,6 @@ static rtx cleanup_auto_inc_dec (rtx src, machine_mode mem_mode ATTRIBUTE_UNUSED) { rtx x = src; - if (!AUTO_INC_DEC) - return copy_rtx (x); const RTX_CODE code = GET_CODE (x); int i; -- 2.47.2