From 7546463b9f7a0b001cf61a94dcfc18f540721390 Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Wed, 1 Apr 2020 14:24:07 -0500 Subject: [PATCH] subreg: Fix PR94123, SVN r273240 causes gcc.target/powerpc/pr87507.c to fail Segher's patch that added -fsplit-wide-types-early and enabled by default for rs6000, caused pr87507.c to FAIL because when running lower-subreg earlier, we don't see any pseudo-to-pseudo copies of our wide type, which are created by combine, therefore, we skip decomposing our TImode accesses. The fix here is just to always run the third pass of lower-subreg instead of disabling it if we ran the second pass. 2020-04-01 Peter Bergner PR rtl-optimization/94123 * lower-subreg.c (pass_lower_subreg3::gate): Remove test for flag_split_wide_types_early. --- gcc/ChangeLog | 6 ++++++ gcc/lower-subreg.c | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ba92946b849..66a118b6f5f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-04-01 Peter Bergner + + PR rtl-optimization/94123 + * lower-subreg.c (pass_lower_subreg3::gate): Remove test for + flag_split_wide_types_early. + 2020-04-01 Joerg Sonnenberger * doc/extend.texi (Common Function Attributes): Fix typo. diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index 4c8bc835f93..a170f0ff93b 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -1844,8 +1844,7 @@ public: {} /* opt_pass methods: */ - virtual bool gate (function *) { return flag_split_wide_types - && !flag_split_wide_types_early; } + virtual bool gate (function *) { return flag_split_wide_types; } virtual unsigned int execute (function *) { decompose_multiword_subregs (true); -- 2.30.2