aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2020-04-01 14:24:07 -0500
committerPeter Bergner <bergner@linux.ibm.com>2020-04-01 14:24:07 -0500
commit7546463b9f7a0b001cf61a94dcfc18f540721390 (patch)
tree53ca984c7e9191dd9718a11d3b987571ce62f59e
parentb60bd122dc753a8407760f4a69bdc7f9126734f2 (diff)
downloadgcc-7546463b9f7a0b001cf61a94dcfc18f540721390.zip
gcc-7546463b9f7a0b001cf61a94dcfc18f540721390.tar.gz
gcc-7546463b9f7a0b001cf61a94dcfc18f540721390.tar.bz2
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 <bergner@linux.ibm.com> PR rtl-optimization/94123 * lower-subreg.c (pass_lower_subreg3::gate): Remove test for flag_split_wide_types_early.
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/lower-subreg.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ba92946..66a118b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-04-01 Peter Bergner <bergner@linux.ibm.com>
+
+ PR rtl-optimization/94123
+ * lower-subreg.c (pass_lower_subreg3::gate): Remove test for
+ flag_split_wide_types_early.
+
2020-04-01 Joerg Sonnenberger <joerg@bec.de>
* doc/extend.texi (Common Function Attributes): Fix typo.
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index 4c8bc83..a170f0f 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);