subreg: Fix PR94123, SVN r273240 causes gcc.target/powerpc/pr87507.c to fail
authorPeter Bergner <bergner@linux.ibm.com>
Wed, 1 Apr 2020 19:24:07 +0000 (14:24 -0500)
committerPeter Bergner <bergner@linux.ibm.com>
Wed, 1 Apr 2020 19:24:07 +0000 (14:24 -0500)
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.

gcc/ChangeLog
gcc/lower-subreg.c

index ba92946b849e6830478a30f66e6ac6f4c58ecb13..66a118b6f5f1a62014e4dd3428ec3f4b90bf2884 100644 (file)
@@ -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.
index 4c8bc835f9389cdd513a7cff8f41541b5b081367..a170f0ff93b8f5a8f0c08c6361fa262495bbb655 100644 (file)
@@ -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);