diff options
author | Jakub Jelinek <jakub@redhat.com> | 2021-01-30 14:58:14 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2021-01-30 14:58:14 +0100 |
commit | accc5ba53e0d0c660aa69f16ef32fc05e4439f1f (patch) | |
tree | ac7ea4241798e4ad9bc369e6f12b1ae1c31e9296 | |
parent | 25f303e9a27a0d799f9979446d9f11ed62b8d648 (diff) | |
download | gcc-accc5ba53e0d0c660aa69f16ef32fc05e4439f1f.zip gcc-accc5ba53e0d0c660aa69f16ef32fc05e4439f1f.tar.gz gcc-accc5ba53e0d0c660aa69f16ef32fc05e4439f1f.tar.bz2 |
i386, df: Fix up gcc.c-torture/compile/20051216-1.c -O1 -march=cascadelake
> rtl-optimization/98863 - tame i386 specific RPAD pass
>
> caused
>
> FAIL: gcc.c-torture/compile/20051216-1.c -O1 (internal compiler error)
> FAIL: gcc.c-torture/compile/20051216-1.c -O1 (test for excess errors)
The problem is that we don't revert the df flags back.
This patch fixes it by clearing DF_DEFER_INSN_RESCAN after
calling df_process_deferred_rescans, so that it doesn't leak into following
unprepared passes that expect non-deferred rescans.
2021-01-30 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386-features.c (remove_partial_avx_dependency): Clear
DF_DEFER_INSN_RESCAN after calling df_process_deferred_rescans.
* gcc.target/i386/20051216-1.c: New test.
-rw-r--r-- | gcc/config/i386/i386-features.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/20051216-1.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/i386/i386-features.c b/gcc/config/i386/i386-features.c index c845ba9..c7d6482 100644 --- a/gcc/config/i386/i386-features.c +++ b/gcc/config/i386/i386-features.c @@ -2409,6 +2409,7 @@ remove_partial_avx_dependency (void) } df_process_deferred_rescans (); + df_clear_flags (DF_DEFER_INSN_RESCAN); bitmap_obstack_release (NULL); BITMAP_FREE (convert_bbs); diff --git a/gcc/testsuite/gcc.target/i386/20051216-1.c b/gcc/testsuite/gcc.target/i386/20051216-1.c new file mode 100644 index 0000000..42a31d0 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/20051216-1.c @@ -0,0 +1,5 @@ +/* PR rtl-optimization/25432 */ +/* { dg-do compile } */ +/* { dg-options "-O1 -march=cascadelake" } */ + +#include "../../gcc.c-torture/compile/20051216-1.c" |